1. 安装:

    1. 安装新版 git:
      参见:yum 安装新版 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. 查看日志:

文档更新时间: 2024-04-20 10:57   作者:lee