簡(jiǎn)單介紹
gitlab-runner
實(shí)際運(yùn)行時(shí)匾乓,會(huì)遠(yuǎn)程獲取我們的代碼倉(cāng)鄙早,然后執(zhí)行配置的.gitlab-ci.yaml
询吴,這個(gè)文件和jenkinsfile
一個(gè)性質(zhì)薄料,里面定義了CICD的檢測(cè)流程。
即gitlab-runner
和我們的代碼倉(cāng)是完全解耦的腻扇。是可以部署在其他服務(wù)器上情竹,且可以部署多個(gè)的届榄。
1、創(chuàng)建volume
首先需要為 gitlab-runner 創(chuàng)建一個(gè)公共配置存在路徑挑围,目的是為了共享配置礁竞。
可以是具體的文件路徑,也可以使用 docker volume create
創(chuàng)建一個(gè)公共掛載杉辙,后續(xù)其他的runner都掛載此目錄模捂,即可實(shí)現(xiàn)共享配置。
docker volume create gitlab-runner-config
2奏瞬、注冊(cè)runner
注意事項(xiàng):
1枫绅、獲取gitlab基礎(chǔ)信息。 settings > CI/CD > Runners > Collapse > 復(fù)制 Url & Token
image.png
注冊(cè)runner
docker run --rm -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--url "Gitlab 的 URL 復(fù)制過(guò)來(lái)" \
--registration-token "Gitlab 的 Token 復(fù)制過(guò)來(lái)" \
--executor "docker" \
--docker-image "要運(yùn)行的鏡像硼端,eg: python:3.6.8" \
--description "docker-runner-test" \
--tag-list "docker,test" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected" \
--docker-pull-policy="if-not-present"
注冊(cè)完成后在獲取 settings > CI/CD > Runners > Collapse > 復(fù)制 Url & Token
的界面下方并淋,會(huì)出現(xiàn)你注冊(cè)的 runner 信息。沒(méi)有可以刷新看看珍昨,實(shí)在沒(méi)有县耽,應(yīng)該是注冊(cè)失敗了句喷。
企業(yè)微信截圖_16303066712211.png
3、啟動(dòng)runner
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
4兔毙、管理runner
help
幫助指令
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest help
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest help unregister
list
列表查看runner
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest list
unregister
刪除runner
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest unregister -t=GIRLAB_TOKEN