gitlab 目录tag_【环境搭建】gitlab-ci(持续集成)
生活随笔
收集整理的这篇文章主要介绍了
gitlab 目录tag_【环境搭建】gitlab-ci(持续集成)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
背景
服务和服务器开始多起来了,一个个搞效率太低,所以准备用持续集成来提高效率
原理
gitlab-ci与ci-runner的关系push到gitlab之后,触发GitLab-CI,GitLab-CI根据注册信息依次让GitLab-Runner执行对应的任务
步骤
- Step 0:GitLab-CI是gitlab自带的,无需额外安装
- Step 1:安装GitLab-Runner
- Step 2: 注册runner,在此之前需要准备token,根据如下的官网提示操作(我这里选择了shared runner,需要管理员权限)
- 注册成功后长这样
- 关于注册runner的tips:
- 注意 tag可以有多个,各 tag之间用逗号隔开。如果你使用了多个 tag,那么当你想用这个 Runner时,在.gitlab-ci.yml的 tag字段里也必须明确指明这些 tags
- 如果你选择Docker作为Runner的executor,你还要选择默认的docker image来运行job(当然,你也可以在.gitlab-ci.yml里指明你需要用的image)
- 注册完成后你可以在/etc/gitlab-runner里发现config.toml文件,该文件是Runner的配置文件
- Step 3:启动runner
- 直接启动:
- 启动为服务:
user-name就是运行该命令的用户,必须指定,否者会报如下的错误,建议用一个单独的用户(比如:gitlab-runner)进行隔离
启动之后,用service命令check服务运行状态
- Step 4:配置ci任务
- 任务:将一个thrift服务每次push之后进行自动部署
- 编写:部署脚本
- 关于如何使用supervisor部署服务,可以参看:
- 编写.gitlab-ci.yml: 在项目的根目录下添加.gitlab-ci.yml内容如下:
- push上去之后就会自动执行第一次任务,可以在gitlab的对应项目下的piplines中看到(注意:如果名字写的不对的话:如写成了.gitlab-ci.yaml的话是看不到任务的,我因为这个问题找了好久的bug(有的地方说可以用yaml,但是我这里是不可以的))
- Step 5:多台机器部署
- 方案一:利用上面提到的tag,进行多台机器的部署,但是这里有个问题是:一旦有bug,所有的机器都会同时挂掉,即便没有bug,所有机器同时restart也是个问题
- 方案二(推荐):runner只在一台机器上,其它机器通过ssh命令进行触发(需要配置免密登录),该方法还能自己控制替换的步骤(这对于需要灰度的系统非常重要)
参考资料
gitlab-runner官网:https://docs.gitlab.com/runner/
关于runner的跟多细节:https://www.jianshu.com/p/19fe0ce7ecec
总结
以上是生活随笔为你收集整理的gitlab 目录tag_【环境搭建】gitlab-ci(持续集成)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 进口配额管理和出口配额管理_SAP采购管
- 下一篇: 英语发音表及读法_如何一个人练习英语口语