![]() |
VOOZH | about |
GitLab Runner supports multiple executors, but Shell and Docker are the most commonly used for C/C++ CI/CD pipelines on Linux.
Best for:
Best for:
Install the following:
which git
gcc --version
g++ --version
cmake --version
1. Download Binary
sudo curl -L --output /usr/local/bin/gitlab-runner \
https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
2. Grant Execute Permission
sudo chmod +x /usr/local/bin/gitlab-runner3. Create Runner User
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash4. Install as Service
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner5. Start Runner
sudo gitlab-runner startsudo gitlab-runner registerProvide:
stages:
- build
- test
build_job:
stage: build
only:
- master
script:
- cd sourcecode
- chmod +x BuildPackage.sh
- ./BuildPackage.sh
artifacts:
expire_in: 7 days
paths:
- sourcecode/binaryfolder_name
test_job:
stage: test
only:
- master
script:
- cd testdir
- chmod +x tests.sh
- ./tests.sh
dependencies:
- build_job
image: gcc:latest
stages:
- build
- test
before_script:
- apt-get update && apt-get install -y cmake
build_job:
stage: build
script:
- cd sourcecode
- chmod +x BuildPackage.sh
- ./BuildPackage.sh
artifacts:
expire_in: 7 days
paths:
- sourcecode/binaryfolder_name
test_job:
stage: test
script:
- cd testdir
- chmod +x tests.sh
- ./tests.sh
dependencies:
- build_job
cache:
paths:
- build/
tags:
- docker
| Command | Purpose |
|---|---|
| gitlab-runner register | Register runner |
| gitlab-runner start | Start runner |
| gitlab-runner stop | Stop runner |
| gitlab-runner status | Check status |
| gitlab-runner restart | Restart service |
| gitlab-runner unregister --all-runners | Remove all runners |
| gitlab-runner --help | List commands |
gitlab-runner --debug | Debug mode |