美文网首页
centos8安装gitlab runner

centos8安装gitlab runner

作者: 小黑佬 | 来源:发表于2021-04-16 18:15 被阅读0次

    添加官方仓库
    Add the GitLab official repository to your servers package manager.

    curl -L [https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh](https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh) | sudo bash
    

    Install the GitLab Runner service.

    sudo yum install gitlab-runner
    
    

    Test that the GitLab Runner is running

    sudo service gitlab-runner status
    

    在 GNU/Linux 系统上注册 Runner:

    <pre>$ gitlab-runner register</pre>
    
    # 输入 GitLab 实例 URL::[查看地址setting 》CI/CD 》 Runners settings ]
    
    <pre>Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
    https://gitlab.oneitfarm.com/</pre>
    
    # 输入获取到的用于注册 Runner 的 token:[查看地址setting 》CI/CD 》 Runners settings ]
    
    <pre>Please enter the gitlab-ci token for this runner
    xxx</pre>
    
    # 输入该 Runner 的描述,稍后也可通过 GitLab's UI 修改:
    
    <pre>Please enter the gitlab-ci description for this runner
    [hostame] xxx</pre>
    
    # [给该 Runner 指派 tags](https://docs.gitlab.com.cn/ce/ci/runners/#using-tags), 稍后也可以在 GitLab's UI 修改: 【tags需要定义,不同的job可以通过tag跑不同的runner】
    
    <pre>Please enter the gitlab-ci tags for this runner (comma separated):
    IDG-mamidian</pre>
    
    #选择 Runner 是否接收[未指定 tags](https://docs.gitlab.com.cn/ce/ci/runners/#using-tags) 的任务(默认值:false), 稍后可以在 GitLab's UI 修改:
    
    <pre>Whether to run untagged jobs [true/false]:
    [false]: false</pre>
    
    # 选择是否为当前项目锁定该 Runner, 之后也可以在 GitLab's UI 修改。 该功能通常用于被指定为某个项目的 Runner (默认值:true):
    
    <pre>Whether to lock Runner to current project [true/false]:
    [true]: true</pre>
    
    # 选择 [Runner executor](https://docs.gitlab.com.cn/runner/executors/README.html):
    
    <pre>Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
    shell</pre>
    
    # 如果你选择 Docker 作为你的 executor,注册程序会让你设置一个默认的镜像, 作用于 .gitlab-ci.yml 中未指定镜像的项目:
    
    <pre>Please enter the Docker image (eg. ruby:2.1):
    alpine:latest</pre>
    
    # 注册成功后可在项目页面 》settings 》CI/CD 》Runner setting下看到相关配置,并可一修改runner配置
    
    注意:Tags必填且要唯一
    

    注意,如果是特定项目给个人使用就用Specific Runners ,只有管理员才可以创建共享runner。

    GitLab CI 中的基本概念

    Runner

    配合 GitLab 执行 CI 任务,是实际执行 CI 任务的进程,并将执行结果返回给 GitLab。一般一个项目分配一个 Runner,但也可以多个项目共享一个 Runner。
    Executor

    执行器,有多种选择,如:docker、shell 等,决定 Runner 以什么环境执行作业,一个 Runner 对应一个 Executor。
    Pipline

    流水线,流水线代表项目 CI/CD 的整个流程,分为多个阶段(在 .gitlab-ci.yml 中自己规定)。
    Stage

    阶段,一个 Pipline 对应多个阶段。
    Job

    CI/CD 中最小的执行单元,一个 Stage 对应多个 Jobs。

    实例:

    # 流水线分为测试阶段和构建阶段
    stages:
      - test
      - build
    
    # 测试作业
    test_job:
      stage: test
      image: golang:1.14.2
      tags:
        - demo-project-runner
      services:
        # 执行测试时依赖 MySQL 服务
        - name: mysql:8.0.17
          # golang 容器中可与 mysql 容器通信的别名(内部会 DNS 解析)
          alias: mysql
          command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
      # 指定作业级变量,会作为环境变量传入 golang 和 mysql 容器
      variables:
        MYSQL_HOST: mysql
        MYSQL_ROOT_PASSWORD: root
        MYSQL_DATABASE: test
      # 执行脚本前的工作,设置 goproxy 加快依赖下载速度
      before_script:
        - go env -w GO111MODULE=on
        - go env -w GOPROXY=https://goproxy.cn,direct
      # 执行代码检查和单元测试
      script:
        - go vet ./...
        - go test -v -race ./...
    
    # 构建作业
    build_job:
      stage: build
      image: docker:latest
      
      # services:
      #  - docker:dind
      # variables:
      #   DOCKER_DRIVER: overlay2
      #   DOCKER_TLS_CERTDIR: ''
      
      script:
        # 可将一些变量放在 GitLab 项目设置里,防止密码被包含在代码中
        - docker build -t goapp:latest .
        - docker login -u $DOCKER_REGISTRY_USERNAME -p $DOCKER_REGISTRY_PASSWORD $DOCKER_REGISTRY_ADDR
        - docker tag goapp:latest ${DOCKER_REGISTRY_ADDR}/xvrzhao/goapp:latest
        - docker push ${DOCKER_REGISTRY_ADDR}/xvrzhao/goapp:latest
      tags:
        - demo-project-runner
      # 指定 master 分支的提交才会触发该作业
      only:
        - master
    

    参考:
    通过 GitLab Runner 实现 CI/CD 工作流(上)

    GitLab CI/CD自动化部署(持续集成)

    GitLab内置了 CI CD 工具,强大啊!!

    相关文章

      网友评论

          本文标题:centos8安装gitlab runner

          本文链接:https://www.haomeiwen.com/subject/edcelltx.html