02 持续集成和部署/基础设施 – DevOps之路
文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi
服务的持续集成和部署这里有两套选择方案:
- Gitlab Runner
- Jenkins
Gitlab Runner
此处采用Gitlab Runner进行CI/CD。
官方文档:https://about.gitlab.com/features/gitlab-ci-cd/
在node02节点上安装Gitlab Runner,首先下载Runner程序,这个程序是由go开发,所以部署很方便,就一个二进制可执行程序。
下载地址:https://docs.gitlab.com/runner/install/bleeding-edge.html
根据自己服务器的架构版本来选择二进制的可执行程序下载。
最终shell脚本如下:
普通用户运行
1
2
3
4
5
6 1wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/master/binaries/gitlab-runner-linux-amd64 && \
2chmod +x gitlab-runner && \
3useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash && \
4gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner && \
5gitlab-runner start
6
以ROOT用户运行
1
2
3
4
5
6 1wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/master/binaries/gitlab-runner-linux-amd64 && \
2chmod +x gitlab-runner && \
3mkdir /home/gitlab-runner && \
4gitlab-runner install --user=root --working-directory=/home/gitlab-runner && \
5gitlab-runner start
6
那么Runner部署就完成了,接下来配置Runner:
在Gitlab > 项目 > settings > CI/CD > Runners settings
在这个页面上有详细的Runner介绍
按照说明进行配置,这里整理成了一个shell脚本:
Shell构建
1
2
3
4
5
6
7 1gitlab-runner register \
2 --url "http://git.examlpe.com" \
3 --registration-token "PROJECT_REGISTRATION_TOKEN" \
4 --description "this is a runner" \
5 --tag-list "build" \
6 --executor "shell"
7
如上配置完成后,在gitlab项目setting中即可看到运行中的Runner。
1
2 1注:此处最后异步选择执行方式为shell,选择shell是为了方便初次使用CI部署,了解配置脚本,后期会使用docker执行执行
2
另外由于作者本身知识有限,都是摸索着来的,所以不一定所有的做法都对,或者某些实践会有更好的方案,望各位读者不吝指正,有任何疑问,请留 issues