最近一年在做一个比较大的项目,在之前项目的时候,吃过多环境部署的亏,所以这次项目开始之前主动提出了要使用 AutoDevOps 。经过一段时间的接触和使用,发现AutoDevops对于开发人员来说确实是个“枕头”。
基于 GitLab 的 AutoDevOps 主要是通过一个神奇的文件 .gitlab-ci.yml
实现的,语法也非常简单,在这里。
而执行这些定义好的 ci jobs 用的也是 GitLab 的同家庭组件 gitlab-ruuner
。官方的 gitlab 仓库默认提供了很多公共的 runner 可以直接使用,只是有次数限制。
所以还是需要了解一下如何安装 gitlab-ruuner 才行。
官方 gitlab-runner 的类型有很多,比较常用的有两种 shell
和 docker-in-docker
。详细安装方式可以参考官网文档,这里做一下简单记录。
sudo docker run --rm -t -i -v /Users/Shared/gitlab-runner/did/config/01:/etc/gitlab-runner \ --name gitlab-runner-shared gitlab/gitlab-runner register \ --non-interactive \ --executor "docker" \ --url "https://xxxx/" \ --registration-token "xxxx" \ --description "docker-in-docker-01" \ --tag-list "did-runner" \ --docker-image "docker:stable" \ --docker-privileged --locked=false
sudo docker run -d --name gitlab-runner-shared-01 --restart always \ -v /Users/Shared/gitlab-runner/did/config/01:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner:latest
docker rm $(docker ps -a -q)
|
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-runner
yum list gitlab-runner --showduplicates | sort -r sudo yum install gitlab-runner-10.0.0-1
sudo yum update sudo yum install gitlab-runner
sudo gitlab-runner register \ --non-interactive \ --url "http://xxx/" \ --registration-token "xxx" \ --executor "shell" \ --docker-image alpine:latest \ --description "shell-01" \ --tag-list "shell-runner" \ --run-untagged \ --locked="false" \
gitlab-runner install --user gitlab-runner
gitlab-runner run
gitlab-runner start
sudo gitlab-runner list sudo gitlab-runner unregister --name name1
gitlab-runner uninstall
|