大家好,我是浮生若梦。
这是 GitLab CI/CD 自动部署系列的终篇。在前两篇文章中,我们分别完成了 GitLab 服务器搭建、Runner 注册,以及代码自动同步到 Gitee 的流水线配置。今天我们来完成最后一环——配置 CI/CD 变量,让整个流水线脚本真正跑起来,实现从代码提交到生产环境上线的全自动化。
最终效果:你在本地发送一条提示词,AI 帮你完成一次代码推送后,GitLab 流水线自动触发,代码同步到 Gitee,生产环境的网站自动更新——全程零手动操作。
回顾:我们已经完成了什么?
在前两篇文章中,我们搭建了以下基础设施:
- ✅ 第一篇:搭建私有 GitLab 服务器 + 注册 Runner
- ✅ 第二篇:配置
.gitlab-ci.yml流水线,实现代码自动同步到 Gitee - 🔲 本篇:配置 CI/CD 全局变量,打通生产环境自动部署的最后一环
为什么需要 CI/CD 变量?
在之前创建的 .gitlab-ci.yml 文件中,流水线脚本引用了一些变量(如 Gitee
仓库地址、阿里云服务器连接信息等)。这些变量不能直接硬编码在配置文件中(不安全),需要在 GitLab 的管理后台中配置。
没有这些变量,脚本就无法知道推送到哪里、连接哪台服务器——自然也就无法完成自动化部署。
第一步:进入 GitLab 管理控制台
打开浏览器,在地址栏输入:
http://你的GitLab地址/admin
直接在 IP 地址后面加 /admin 回车,即可进入管理控制台。
💡 作为程序员,直接输地址比点菜单找效率高得多。记住这个入口:IP + /admin
第二步:配置 CI/CD 全局变量
进入管理控制台后,找到变量配置的位置:
- 在管理控制台左侧菜单中,找到 "设置"
- 展开设置菜单,点击 "CI/CD"
- 在 CI/CD 设置页面中,找到 "变量" 部分并展开
- 点击 "添加变量"
⚠️ 注意:不是在项目设置里配置,而是在管理中心(Admin)下的 CI/CD 设置中配置。在 Admin 下配置的变量是全局变量,所有项目都可以直接访问,非常方便。
需要配置的变量
我们需要配置两个关键变量:
| 变量名 | 用途 | 值 |
|---|---|---|
| GITEE_* | Gitee 仓库相关配置 | Gitee 的 SSH 连接信息 |
| ALIYUN_* | 阿里云服务器连接配置 | 生产环境服务器的 SSH 连接信息 |
具体变量名和值需要与 .gitlab-ci.yml 中引用的变量名完全一致。如果你在前一篇文章中修改了变量名,这里也要对应修改。
变量配置方法
点击 "添加变量" 后,填写:
- Key:变量名(与 yml 文件中引用的名称一致)
- Value:变量值(如 SSH 地址、端口号等)
- 点击保存即可
两个变量都配置完成后,.gitlab-ci.yml 中的脚本就能正确读取这些值,自动完成从 GitLab 同步到 Gitee,再从 Gitee 部署到生产环境的全流程。
第三步:验证自动部署
变量配置完成后,我们来做一次完整的端到端验证:
- 在本地修改代码(或让 AI 帮你改一段代码)
- 发送提示词让 AI 提交并推送到 GitLab
- 观察 GitLab 流水线是否自动触发
- 检查 Gitee 仓库是否同步更新
- 访问生产环境网站,确认代码已自动更新上线
如果一切顺利,你会看到:从提交代码到网站更新,全程自动化,一气呵成。
常见问题排查
如果流水线执行失败,常见原因有:
- ❌ 变量名不匹配:检查 yml 文件中引用的变量名与管理后台配置的是否完全一致
- ❌ SSH 密钥未配置:确保 Runner 所在机器的公钥已添加到 Gitee 和生产服务器
- ❌ 网络不通:确认 Runner 机器能够访问 Gitee 和生产服务器的 SSH 端口
- ❌ 分支不对:流水线只在 master/main 分支推送时触发,检查你推送的分支是否正确
系列总结
至此,GitLab CI/CD 自动部署的完整链路已经全部打通:
- 本地开发 → AI 辅助编写代码
- 代码推送 → 一句提示词提交到 GitLab
- 自动同步 → CI/CD 流水线将代码同步到 Gitee
- 自动部署 → 生产环境网站自动更新上线
你每天只需要做一件事——敲提示词,更新代码。其他的事情,全部由自动化流程帮你搞定。
⚠️ 重要提醒:配置文件和 yml 文件请直接从下载地址获取,不要手动复制页面内容!YAML 文件对格式要求非常严格,复制粘贴很容易导致缩进错误、格式损坏,手动修复的结果可能是整个配置崩溃。直接下载文件才能保证格式正确。
📦 资源获取:GitLab CI/CD 全套配置文件
包含完整的 .gitlab-ci.yml 模板、变量配置说明、SSH 配置示例以及自动部署脚本,直接下载即可使用:
关注【求知栈】服务号,私信回复下方关键字马上提取:
qzz011