一、GitLab Runner 安装
官网各系统 & 各方式安装说明:https://docs.gitlab.com/runner/install/
本文基于阿里云 CentOS 安装 GitLab Runner (Linux Shell 方式,非 Docker 方式)
1.1 GitLab Runner 介绍
GitLab Runner 是开源的且用 Go 编写,它可以作为单个二进制文件运行且没有特定于编程语言的要求。
1.2 Install GitLab Runner in CentOS7
- CURL 拉取 RPM
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash
- 安装:y n 连
yum install gitlab-runner
-
注册 Runner
- 官网注册说明:https://docs.gitlab.com/runner/register/index.html
- Install it on a server separate than where GitLab is installed(GitLabRunner 与 GitLab 安装在不同位置):Done
- Obtain a token(获取一个 token):https://docs.gitlab.com/ee/ci/runners/register_runner.html
- 获取 token:For a project runner (针对某个项目的 runner)
-
找到某个项目(以个人 SpringBoot 项目为例):在项目主页点击 设置(Settings)-CI/CD,选择
New project runner
-
选择平台,填写 runner 描述等信息
-
点击上图 Create runner
-
- 注册 Runner
- 第一步:复制粘贴如下命令到安装了 Runner 的命令行以注册 runner
- 第二步:选择 Runner 执行器
- 第三步:手动确认 runner 可以拉取 jobs (pick up jobs):出现警告,检查 .ssh 配置公钥到 gitlab(见附录)
- 官网注册说明:https://docs.gitlab.com/runner/register/index.html
-
去 runner 页
2. CI/CD:SpringBoot 后端项目部署
- 在 Gitlab Runner 所在服务器上安装 Runner 环境:略
- git 安装(git clone 仓库项目记得 SSH 免密登录配置,在本文最后一部分有 SSH 免密登录配置)
- maven 安装
- 在需部署 SpringBoot 后端项目的服务器上(本文通 Runner 所在服务器)安装 JDK:略
- 编写
.gitlab-ci.yml
文件,内容如下
- Commit 代码,触发流水线
X. Runner WARNING:Checking for jobs… failed runner=rPbMnmqED status=502 Bad Gateway
解决:502 Bad Gateway。
- 生成 SSH 公钥:若有,则可以不执行
- 复制 id_rsa.pub 的内容到 gitlab 并点击 add key
- 重新执行 gitlab-runner run