Gitlab CI :- 如何在 Gitlab 中创建不依赖于任何系统的 Shared Runner?

Rav*_*aha 10 android apk gitlab gitlab-ci gitlab-ci-runner

我研究过Gitlab Runner两种类型,一种是Custom Runner,另一种是Shared Runner

我在 中使用了Custom Runner类似的方法来创建的。它运行良好并创建了所需的构建。但通过这种方式,我遇到的一个问题是,它取决于我的系统,这意味着当我的系统打开时,我的工作正常,但当我的系统关闭时,则无法执行操作,因为它取决于我的系统运行程序。dockerGitlabapkAndroidCustom RunnerGitlab

我已阅读有关Shared Runner不依赖于任何内容并执行操作的内容。我已阅读文档,但没有找到实现它的正确方法。

请检查我.gitlab-ci.yml下面的文件

image: jangrewe/gitlab-ci-android

stages:
  - build

before_script:
  - export GRADLE_USER_HOME=$(pwd)/.gradle
  - chmod +x ./gradlew

cache:
  key: ${CI_PROJECT_ID}
  paths:
    - .gradle/

build:
  stage: build
  tags:
    - dev-ci
  script:
    - ./gradlew assembleDevelopment assembleProduction assembleStaging
  artifacts:
    paths:
      - app/build/outputs/
Run Code Online (Sandbox Code Playgroud)

请帮助Shared RunnerGitlab

Sou*_*tta 20

注册共享跑步者的步骤:

先决条件:应该已经安装了 Gitlab-Runner。按照此文档安装 Runner

  • 登录 Gitlab。转到管理区域>>概述>>跑步者>>手动设置共享跑步者

在此输入图像描述

  • 使用 root 用户或安装运行程序的用户(例如 gitlab-runner)登录到安装运行程序的服务器。在这里,我们使用 root 用户注册运行程序。运行以下命令:

    gitlab-runner register

  • 根据您的设置填写以下详细信息:

    • 请输入 gitlab-ci 协调员 URL: https: //example.com/gitlab/

      (在 gitlab 中查找手动设置共享运行器下的 url )

    • 请输入此运行程序的 gitlab-ci 令牌:jiRS-3KxGaEdkLo6tToZ

      (在 gitlab 中查找手动设置共享运行器下的令牌)

    • 请输入此运行程序的 gitlab-ci 描述:my-first-shred-runner

      (输入跑步者的任意名称)

    • 请输入此运行程序的 gitlab-ci 标签(逗号分隔):ci-shared,ci-task

      (输入您想要与跑步者关联​​的任何标签)

    • 请输入执行器:docker-ssh、parallels、virtualbox、docker+machine、kubernetes、custom、docker、docker-ssh+machine、shell、ssh: shell

      (输入您需要运行者使用的执行人,根据执行人的选择,您将得到其他选项来填写。请仔细查看执行人的文件)

现在,您可以看到消息运行程序已注册。

在此输入图像描述

您可以在 Gitlab 中验证相同的内容。转到Gitlab,管理区域>>概述>>运行器>>手动设置共享运行器,您可以看到运行器已注册名称为my-first-shred-runner

在此输入图像描述

在 Gitlab 中为项目启用 Shared Runner 的步骤:

  1. 转到 Gitlab 中的项目。
  2. 然后,在项目页面中,设置>> CI/CD >> Runners >> Shared Runners
  3. 然后,单击Enable shared runners。现在,您可以使用 Gitlab CI/CD 的共享运行器。
  4. 使用与 中的共享运行器关联的标签.gitlab-ci.yml,以便作业将使用共享运行器运行。

在此输入图像描述

更改中的标签.gitlab-ci.yml

image: jangrewe/gitlab-ci-android

stages:
  - build

before_script:
  - export GRADLE_USER_HOME=$(pwd)/.gradle
  - chmod +x ./gradlew

cache:
  key: ${CI_PROJECT_ID}
  paths:
    - .gradle/

build:
  stage: build
  tags:
    - ci-shared
  script:
    - ./gradlew assembleDevelopment assembleProduction assembleStaging
  artifacts:
    paths:
      - app/build/outputs/

Run Code Online (Sandbox Code Playgroud)

注册特定跑步者的步骤:

  1. 登录 Gitlab。转到项目,然后设置>> CI/CD >> Runners >> 手动设置特定的Runner
  2. 接下来,按照上面注册共享运行程序的步骤 2 中的相同步骤进行操作

在此输入图像描述