1. 安装:

    1. 安装新版 git(略):
    2. 官方网址:
      https://docs.gitlab.com/runner/install/linux-repository.html
    3. 命令:
      curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
      sudo yum install gitlab-runner
    4. 注意事项:
      # gitlab-runner 与 gitlab 的版本一定要对应
      # gitlab-runner 各版本下载地址( el == redhat linux )
      https://packages.gitlab.com/runner/gitlab-ci-multi-runner
      # 安装
      rpm -ivh xxx.rpm
    5. 修改 gitlab-runner,使用 root 权限:
      # vim /etc/systemd/system/gitlab-runner.service
      # 将 "--user" "gitlab-runner" 改为 "--user" "root"
      ExecStart=/usr/lib/gitlab-runner/gitlab-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "root"
    6. 启动:
      systemctl daemon-reload
      systemctl enable gitlab-runner
      systemctl start gitlab-runner
  2. 配置:

    1. 在 gitlab 中查看 runners 信息:
    2. 注册 runner:
      gitlab-runner register
      # 输入 URL
      # 输入 Token
      # 输入 描述
      # 输入 标签
      # 选择 Runner 的类型
    3. 配置 runner:
      1. 找到注册的 runner ,点击配置:
      2. 勾选 Run untagged jobs 并保存:
  3. 测试:

    1. 在项目根目录中添加 .gitlab-ci.yml 配置文件:

      # 定义 stages
      stages:
      - one  # 名为 one 的 stage
      - two  # 名为 two 的 stage
      
      # 定义 job - one
      one:
      stage: one
      tags:
         - test  # 只允许 gitlab-runner 注册时,标签为 test 的 runner 执行命令
      only:
       - dev  # 只在 dev 分支有提交时运行
      script:
       - cd /root/test && echo "hello" >> test.txt  # 在运行 gitlab-runner 的服务器上执行命令
      
      # 定义 job - two
      two:
      stage: two
      tags:
         - test  # 只允许 gitlab-runner 注册时,标签为 test 的 runner 执行命令
      only:
       - master  # 只在 master 分支有提交时运行
      script:
       - ssh root@xx.xx.xx.xx "cd /root/test && mkdir test"  # 执行 ssh 连接到目标服务器,并在目标服务器中执行命令

    2. 随便发起一个提交到项目:

    3. 查看 CI/CD 运行状态:

      1. 查看任务列表:
      2. 查看日志:

文档更新时间: 2020-09-26 13:45   作者:lee