首先安裝gitlab-runner
docker run -d --name gitlab-runner --restart always \
-v /home/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
打開gitlab妙色,在這里找到url和token
然后進到容器中咳促,接下來輸入一系列信息
注意,在要求輸入tag時盆顾,想好tag的名字,這個就相當于你的runner的id
docker exec -it gitlab-runner bash
gitlab-runner register
## 輸入url
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://172.17.0.2:8090
#如果都用docker安裝畏梆,可以使用docker內(nèi)部的橋接網(wǎng)路 使用 docker network inspect bridge 命令查看
## 輸入token
Please enter the gitlab-ci token for this runner
## 寫個描述
Please enter the gitlab-ci description for this runner
## 這個tag很重要您宪,好好想個名字并記住,隨后在ci配置中需要對應(yīng)上具温。
Please enter the gitlab-ci tags for this runner (comma separated)
## ci沒有配置tags時是否執(zhí)行這個runner蚕涤?建議采用默認值。
Whether to run untagged builds [true/false]
## 是否只對當前工程有效铣猩?理論上講只有“Shared runners”才有效揖铜。選true。
Whether to lock Runner to current project [true/false]
## 選擇一個執(zhí)行器达皿。我們接來下的方案是基于shell的天吓,輸入shell。
Please enter the executor: virtualbox, docker+machine, kubernetes, parallels, docker-ssh, shell, ssh, docker-ssh+machine, docker:
#結(jié)束峦椰。在容器中執(zhí)行g(shù)itlab-runner list 可以看到保存在配置文件中的所有運行程序
一些常用命令
gitlab-runner register #默認交互模式下使用龄寞,非交互模式添加 --non-interactive
gitlab-runner list #此命令列出了保存在配置文件中的所有運行程序
gitlab-runner verify #此命令檢查注冊的runner是否可以連接,但不驗證GitLab服務(wù)是否正在使用runner汤功。 --delete 刪除
gitlab-runner unregister #該命令使用GitLab取消已注冊的runner物邑。
#使用令牌注銷
gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n
#使用名稱注銷(同名刪除第一個)
gitlab-runner unregister --name test-runner
#注銷所有
gitlab-runner unregister --all-runners
接下來進入docker修改配置文件,增加 pull_policy = "if-not-present" pull政策:如果不存在
不然每次docker 去重新pull鏡像滔金,十分墨跡
在上邊運行時我們修改了 -v /home/gitlab-runner/config:/etc/gitlab-runner
所以打開 /home/gitlab-runner/config/config.toml
[[runners]]
name = "desdocker"
url = "http://127.0.0.1:8090/"
id = 8
token = "HSDGNf9xQ5RdB5ayze5N"
token_obtained_at = 2023-03-17T13:57:54Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker"
[runners.cache]
MaxUploadedArchiveSize = 0
[runners.docker]
tls_verify = false
image = "node"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
pull_policy = "if-not-present" # 增加這個
shm_size = 0
#如果都了解了色解,就可以用直接命令行生成了
gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:latest \
--url"http://192.168.1.200:30088/" \
--registration-token "JRzzw2i1Ji6aBjwvkxAv"--description "docker-runner" \
--tag-list "docker" \
--run-untagged="true" \
--Tocked="false" \
--access-level="not_protected'