一、简介

Gitlab的持续集成功能依赖于Gitlab Runner组件完成.
Gitlab runner作为Gitlab这个中控机的执行者,按照代码仓库里面.gitlab-ci.yaml文件中预定义的任务job按照指定的顺序或并发的执行完成系列的编译、测试、部署等操作,也就是说只要按照.gitlab-ci.yaml的配置格式,将写好的.gitlab-ci.yml文件放在代码仓库内,待下一次代码提交commit的时候就会自动的触发仓库绑定的Gitlab Runner去按照.gitlab-ci.yml里面配置的指定的执行。
总结一下,在Gitlab中进行CICD,需要简单的做几步:

  1. 安装Gitlab Runner
  2. 把代码仓库与Gitlab Runner进行绑定
  3. 在代码仓库里面配置.gitlab-ci.yml
  4. 在.gitlab-ci.yml文件里面定义好编译、单元测试、部署等任务(jobs)

    二、部署GitLab Runner

    1、下载软件

    1. # Linux x86-64
    2. sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
    3. # Linux x86
    4. sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386
    5. # Linux arm
    6. sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm

    2、添加软件可执行权限

    1. chmod +x /usr/local/bin/gitlab-runner

    3、安装gitlab-runner

    1. gitlab-runner install --user=root --working-directory=/opt/git-runner

    4、启动gitlab-runner

    1. gitlab-runner start

    5、注册gitlab-runner

    1. gitlab-runner register

    image.png
    url地址和token可在以下页面查询,注册成功后即可看到runner
    image.png

    6、gitlab-runner常用命令

    1)服务管理

    ```bash gitlab-runner install —user=root —working-directory=/opt/gitlab-runner

    —user指定将用于执行构建的用户

    —working-directory 指定将使用Shell executor 运行构建时所有数据将存储在其中的根目录

gitlab-runner uninstall #该命令停止运行并从服务中卸载GitLab Runner。

gitlab-runner start #该命令启动GitLab Runner服务。

gitlab-runner run #普通用户模式 配置文件位置 ~/.gitlab-runner/config.toml

sudo gitlab-runner run # 超级用户模式 配置文件位置/etc/gitlab-runner/config.toml

gitlab-runner stop #该命令停止GitLab Runner服务。

gitlab-runner restart #该命令将停止,然后启动GitLab Runner服务。

gitlab-runner status #此命令显示GitLab Runner服务的状态。当服务正在运行时,退出代码为零;而当服务未运行时,退出代码为非零

  1. <a name="lulTL"></a>
  2. ### 2)注册命令
  3. ```bash
  4. gitlab-runner register #默认交互模式下使用,非交互模式添加 --non-interactive
  5. gitlab-runner list #此命令列出了保存在配置文件中的所有运行程序
  6. gitlab-runner verify #此命令检查注册的runner是否可以连接,但不验证GitLab服务是否正在使用runner。--delete 删除
  7. gitlab-runner unregister #该命令使用GitLab取消已注册的runner。
  8. #使用令牌注销
  9. gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n
  10. #使用名称注销(同名删除第一个)
  11. gitlab-runner unregister --name test-runner
  12. #注销所有
  13. gitlab-runner unregister --all-runners

三、配置.gitlab-ci.yml

stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  only:
    - master
  script:
    - echo "构建代码or基础环境中..."
    - echo "构建代码or基础环境已完成!"
  tags:
    - ops

test_job:
  stage: test
  only:
    - master
  script:
    - echo "自动化测试中..."
    - echo "自动化测试已完成!"
  tags:
    - ops

deploy_job:
  stage: deploy
  only:
    - master
  script:
    - echo "自动部署中..."
    - echo "自动部署已完成!"
  tags:
    - ops

可以在CI Lint中检查文件格式
image.png
image.png

四、提交代码,查看作业输出

提交代码后到仓库,CI/CD中即可看到任务
image.png
点入到具体Job可以查看输出
image.png