我不是一个资深高手,只想描述普通人在项目中真正常见的问题,以及我的一些经验!
上一片文章中,我们讲解了一下,企业内部代码服务器,gitlab-ce的搭建,搭建之后,我们有了代码管理的工具,基于代码工具gitlab-ce的基础上,我们聊一下企业内部的cicd
首先就是为什么要用gitlab-runner,企业开发中,我们一直提到一个问题叫做cicd,持续开发平台,为的就是把部署发布这些成本全部脱离开,让开发用最小的精力完成开发测试环境部署问题。
话不多说上操作
由于国内docker镜像站的特殊原因,后续我的文章中会全面避开基于docker部署的教程,而且原生部署,也利于管控版本
gitlab-runner下载地址
https://packages.gitlab.com/runner/gitlab-runner
下面提供安装命令集合,基于centos系统
由于gitlab-runner基于git,首先要安装git
yum install git -y
安装gitlab-runner
mkdir -p /tools && cd /tools/ && wget https://packages.gitlab.com/runner/gitlab-runner/packages/fedora/29/gitlab-runner-12.6.0-1.x86_64.rpm/download.rpm && gitlab-runner install --working-directory /home/staff
添加配置文件
vim /etc/systemd/system/gitlab-runner.service
添加如下配置
[Unit]
Description=GitLab Runner
After=syslog.target network.target
ConditionFileIsExecutable=/usr/lib/gitlab-runner/gitlab-runner
[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/lib/gitlab-runner/gitlab-runner "run" "--working-directory" "设置一个工作目录" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" Restart=always
RestartSec=120
[Install]
WantedBy=multi-user.target
执行如下命令进行gitlab-runner的启动
systemctl daemon-reload && /bin/systemctl start gitlab-runner && /bin/systemctl enable gitlab-runner && /bin/systemctl restart gitlab-runner
验证服务启动情况
ps -ef |grep gitlab
服务启动之后就是需要进行最重要的一步,注册到gitlab-ce
直接运行 gitlab-runner register
提前到gitlab-ce中查询对应的token信息
注册流程如下
验证注册成功入下图
如果出现上图情况,证明gitlab-runner 已经注册成功,接下来就是在项目的根目录,编写自动化构建脚本,创建.gitlab-ci.yml文件,编写基于自己环境的cicd脚本
基于脚本内容(包括权限控制,即可实现提交代码实现自动化发布的目的)
关于脚本的如何编写,可以参考如下
https://meigit.readthedocs.io/en/latest/gitlab_ci_.gitlab-ci.yml_detail.html