系统环境说明
开发服务器:120.77.87.1 CentOS 7.4 64位Gitlab服务器:120.79.163.5 CentOS 7.4 64位已经安装好Gitlab服务
这里要注意下,Gitlab与Gitlab-runner不能安装在同一台服务器上面。
Gitlab Runner安装
1:添加官方安装源
CentOS安装包
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bashDebian/Ubuntu安装包
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash2:安装Gitlab Runner
CentOS/Fedor:
sudo yum install gitlab-runnerDebian/Ubuntu:
sudo apt-get install gitlab-runner3:检查是否安装成功
gitlab-runner -v执行后会有下面类似的版本信息出现,代表安装成功
Version: 14.1.0
Git revision: 8925d9a0Git
branch: 14-1-stableGO
version: go1.13.8
Built: 2021-07-20T11:43:13+0000
OS/Arch: linux/amd64
Gitlab Runner安装成功后,下一步就是跟Gitlab项目连接做配置了。
gitlab-runner配置
1:打开gitlab 项目的配置项
Runnners就是管理Runnner服务的
Variables在这里可以配置这个项目的全局变量,在下面提到的 .gitlab-ci.yml 这个代码里用到,这个配置不是必要的。
2:打开Runners,找到连接,token
点击expand后,可以看到一堆信息,这里只关注红色圈出来的地方,下面要用到。
3:gitlab runner 注册
上面那张图片红色圈出来的信息,就是这里要用到的了。
gitlab-runner register
配置后,输入gitlab-runner list,会列出已经注册好的服务
可以看到刚刚添加的服务了。
刷新gitlab上的界面,可以看到Runners,下面有启用的服务了
CI部署调试
在你的项目根目录下面,添加一个这样命名的文件:.gitlab-ci.yml
这是官方文档提供的教程
这是目前在项目里使用的,作为示例:
stages: - deploy Core_Deploy: stage: deploy tags: - yy-bbs-ci-api-dev only: - develop variables: GIT_STRATEGY: clone GIT_CHECKOUT: "true" SITE_ID: "24" DOMAIN: "ci-dev.yeyinfs.com" PROJECT_PATH: "/lhdata/wwwroot/yeyin_bbs_ci" script: - git branch -a - echo "Core deploy ..." - \cp -frp /root/${CI_PROJECT_DIR}/* ${PROJECT_PATH} - chown -R www:www ${PROJECT_PATH} - echo "Core deploy finished !" allow_failure: false when: always里面的内容不要照搬,要根据自己项目的路径和情况来配置。
遇到的问题
我在配置这个流程过程中,遇到的最大的问题,就是访问目录权限的问题,这个问题我差不多花了一天的时间,找了各种各样的资料才解决。
在安装那一步中,gitlab-runner 默认的执行用户是gitlab-runner
在命令行中输入:ps -aux|grep gitlab-runner
我现在已经改成了执行用户是 root,就解决上面遇到的问题了。
修改执行用户的操作步骤:
gitlab-runner stop` # 停止服务 gitlab-runner uninstall ` #卸载runner gitlab-runner install --working-directory /home/gitlab-runner --user root` #重新安装runner,指定用户为 root gitlab-runner start # 启动服务再ps -aux|grep gitlab-runner检查是不是已经改成功了。