基于gitlab-ci的蔡先生

<强>简介

自动部署涉及了若干个角色,主要介绍如下

<强> 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-ci的CICD

安装部署

添加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 重启服务


注册

  1. specific令牌位置为:

基于gitlab-ci的CICD

share runner令牌位置为:

基于gitlab-ci的CICD

[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脚本后就会自动触发构建部署


基于gitlab-ci的蔡先生

<强>我们在工作里面可以看到执行的状态,是否执行成功或者报错。

基于gitlab-ci的蔡先生