GitLab CI/CD入门

在项目的根目录下放置.gitlab-ci.yml文件来达到持续集成和部署的目的。 .gitlab-ci.yml被runner进程读取,从而完成CI/CD的任务。默认情况下有三个阶段的流水线阶段:build、test、deploy。

简而言之,具体的CI所需要的步骤就两步:

  1. 添加.gitlab-ci.yml到项目的根目录
  2. 配置一个runner

.gitlab-ci.yml是一个YAML格式的文件,所以在缩进的时候要使用空格而不是制表符。

默认情况下gitlab已经开启了项目的"Auto DevOps"功能,我们将.gitlab-ci.yml文件push到gitlab上之后,gitlab会自动运行yml中定义的各种操作。

1. 配置Runner

1. 下载

 ~]# wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

2. 授权

~]# chmod +x /usr/local/bin/gitlab-runner

3. 创建用户

~]# useradd --comment "GitLab Runner" --create-home gitlab-runner --shell /bin/bash

4. 安装并运行

~]# gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

5. 注册

提示: 一个runner可以注册多个项目来运行

注册中需要用到gitlab后台中的两个数据,一个是gitlab的地址,另一个是token,这个在项目的设置中可以找到。

~]# gitlab-runner register --url gitlab访问地址 -r 注册所用的token --description gitlabrunner --ssh-host 主机IP --ssh-port 22 --ssh-user root --ssh-password服务器密码 #其余的部分根据提示填写即可

2. 配置参数

关键字 描述
script 由runner执行的命令或者脚本
before_script 作业执行之前执行的一组命令
after_script 作业执行之后执行的一组命令
stages 定义pipeline中的阶段
stage 定义作业阶段
variables 在作业级别定义变量
retry 发生故障的情况下,可以自动重试的次数

script是yml文件里面唯一必需的关键字。

  • 变量优先级
    • trigger变量和scheduled pipeline变量
    • 项目级别变量或者被保护的变量
    • 组级的变量或者被保护的变量
    • YAML中定义的作业级别的变量
    • YAML定义的全局变量
    • 部署变量
    • 预定义的环境变量
job:
  script:
    - echo "test"

参考链接

  1. https://docs.gitlab.com/11.11/ee/ci/quick_start/README.html
  2. https://docs.gitlab.com/runner/install/
  3. https://docs.gitlab.com/11.11/ee/ci/yaml/README.html
  4. https://docs.gitlab.com/11.11/ee/ci/variables/README.html
  5. https://docs.gitlab.com/runner/configuration/advanced-configuration.html
上一篇:SpringBoot项目测试时出现程序包org.junit.runner不存在


下一篇:谊品生鲜如何从零开始快速打造CI/CD流水线