<强>简介强>
自动部署涉及了若干个角色,主要介绍如下
<强> GitLab-CI 强>
这个是一套配合GitLab使用的持续集成系统,是GitLab自带的,也就是你装GitLab的那台服务器上就带有的. . GitLab-CI。yml的脚本解析就由它来负责。
<强> GitLab-Runner 强>
这个是脚本执行的承载者,.gitlab-ci.yml的脚本部分的运行就是由运动员来负责的.GitLab-CI浏览过项目里的.GitLab-CI。yml文件之后,根据里面的规则,分配到各个选手来运行相应的脚本脚本。这些脚本有的是测试项目用的,有的是部署用的。
<强> .gitlab-ci。yml
这个是在git项目的根目录下的一个文件,记录了一系列的阶段和执行规则。GitLab-CI在push后会解析它,根据里面的内容调用runner来运行。
Pipeline
一次 Pipeline 其实相当于一次构建任务,里面可以包含多个流程,如安装依赖、运行测试、编译、部署测试服务器、部署生产服务器等流程。
Stages
Stages 表示构建阶段,说白了就是上面提到的流程。我们可以在一次 Pipeline 中定义多个 Stages,这些 Stages 会有以下特点:
所有 Stages 会按照顺序运行,即当一个 Stage 完成后,下一个 Stage 才会开始
只有当所有 Stages 完成后,该构建任务 (Pipeline) 才会成功
如果任何一个 Stage 失败,那么后面的 Stages 不会执行,该构建任务 (Pipeline) 失败
Jobs
Jobs 表示构建工作,表示某个 Stage 里面执行的工作。我们可以在 Stages 里面定义多个 Jobs,这些 Jobs 会有以下特点:
相同 Stage 中的 Jobs 会并行执行
相同 Stage 中的 Jobs 都执行成功时,该 Stage 才会成功
如果任何一个 Job 失败,那么该 Stage 失败,即该构建任务 (Pipeline) 失败
发布流程图如下:
安装部署
添加gitlab官方库
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
安装最新版本的gitlab-runner
yum -y install gitlab-runner
启动服务
gitlab-runner list 查看各个 Runner 的状态
gitlab-runner stop 停止服务
gitlab-runner start 启动服务
gitlab-runner restart 重启服务
注册
specific令牌位置为:
share runner令牌位置为:
[root@localhost ~]#
Runtime platform arch=amd64 os=linux pid=1784 revision=577f813d version=12.5.0
Running in system-mode.
请输入gitlab-ci协调员的URL(例如https://gitlab.com/):
请输入gitlab-ci令牌跑步:
请输入gitlab-ci描述这跑步:
(localhost):
请输入这个选手的gitlab-ci标签(逗号分隔):
注册运动员……成功跑=SeyTs9_4
请输入执行人:相似,ssh, virtualbox,码头工人+机器,习俗,码头工人,docker-ssh,壳牌docker-ssh +机器,kubernetes:
运动员注册成功。随时启动它,但如果它已经运行配置应该自动重新加载!
gitlab-runner注销url https://asdf.com/ci——令牌43 f334f34f34f34f4
<强>下面我们去需要发布的项目里面的根目录编写.gitlab-ci。yml脚本进行自动发布强>
<强> .gitlab.-ci。yml文件必须在项目的根目录进行创建:强>
阶段:
-构建
测试
-
#打部署包阶段
使工作:
阶段:构建
标记:
-
报告脚本:
- mvn -Dmaven.test清洁包。跳过=true -Pprod
alt="基于gitlab-ci的蔡先生">
<强>在项目的根目录写好.gitlab.-ci。yml脚本后就会自动触发构建部署强>
<强>我们在工作里面可以看到执行的状态,是否执行成功或者报错。