Docker gitlab-runner安裝方法,推薦安裝原生服務器的runner,並修改.gitlab.yml
以簡化測服部署步驟
鏡像拉取
sudo docker pull gitlab/gitlab-runner:v1.10.7
容器啓動
添加 gitlab-runner container
sudo docker run -d
--net host \
--name gitlab-runner \
--restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:v1.10.7
Runner註冊
sudo docker exec -it gitlab-runner gitlab-ci-multi-runner register
註冊Runner步驟
Please enter the gitlab-ci coordinator URL:
http://gitlab.com/ci
Please enter the gitlab-ci token for this runner:
38sUHxxStGXytDTyfxDg
Please enter the gitlab-ci description for this runner:
dubbo-runner(IP)
Please enter the gitlab-ci tags for this runner (comma separated):
dubbo
Whether to run untagged builds [true/false]:
true
Please enter the executor: docker, parallels, shell, kubernetes, docker-ssh, ssh, virtualbox, docker+machine, docker-ssh+machine:
docker
Please enter the default Docker image (e.g. ruby:2.1):
maven:3.3.9-jdk-8
Runner啓用
gitlab -> project -> Runners
Maven依賴
docker image每次構建都是在獨立的container裏, maven的 .m2文件並不會被多次構建公用,這裏我們可以通過修改gitlab-runner的配置,將maven .m2目錄加到volumes中,並增加鏡像拉取規則(默認是從遠程拉取鏡像,這裏修改爲優先獲取本地鏡像,不存在時纔去遠程拉取鏡像)。
config.toml
爲runner配置文件,路徑見容器啓動的掛載目錄
[runners.docker]
tls_verify = false
image = "maven:3.3.9-jdk-8"
privileged = false
disable_cache = false
volumes = ["/cache", "/media/raid10/maven/.m2:/root/.m2"]
pull_policy = "if-not-present"