news 2026/7/31 12:24:50

配置Gitlab CI自动部署代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
配置Gitlab CI自动部署代码

系统环境说明

开发服务器: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 bash

Debian/Ubuntu安装包

curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash

2:安装Gitlab Runner

CentOS/Fedor:

sudo yum install gitlab-runner

Debian/Ubuntu:

sudo apt-get install gitlab-runner

3:检查是否安装成功

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检查是不是已经改成功了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 12:23:12

打破视频推理「先看后想」惯性,实现真正的「边看边想」

给VLM装上「双车道」 今天的大型视觉语言模型(VLM)做离线视频分析很强,但一到实时场景就尴尬: 视频在往前走,模型还在“补作业”。 监控告警、机器人交互、自动驾驶——这些任务要的是边看边想,不是看完…

作者头像 李华
网站建设 2026/7/31 12:20:17

开源简历工具:零代码打造专业简历

开源简历工具:零代码打造专业简历 【免费下载链接】magic-resume free online AI resume editor 项目地址: https://gitcode.com/GitHub_Trending/ma/magic-resume 在竞争激烈的求职市场中,一份专业且个性化的简历往往是获得面试机会的关键。然而…

作者头像 李华
网站建设 2026/7/31 12:21:59

【C语言程序设计】第32篇:动态内存管理

1 引言考虑这样一个需求:程序需要处理用户输入的一组整数,但事先不知道有多少个。如果用数组,必须事先指定大小,要么浪费空间,要么空间不足。cint arr[1000]; /* 可能太大浪费,也可能太小不够 */动态内存分…

作者头像 李华
网站建设 2026/7/14 14:55:31

ConstraintLayout在Android折叠屏分屏适配中的5个高级技巧

ConstraintLayout在Android折叠屏分屏适配中的5个高级技巧 折叠屏设备的兴起彻底改变了移动交互的范式。当用户展开设备时,屏幕空间可能瞬间扩大80%,而分屏模式则让多任务处理成为可能。作为Android开发者,我们既面临布局适配的挑战&#xff…

作者头像 李华