【问题标题】:Gitlab CI :- How to create the Shared Runner in Gitlab which does not depend on the any system?Gitlab CI :- 如何在 Gitlab 中创建不依赖于任何系统的 Shared Runner?
【发布时间】:2021-02-16 20:36:15
【问题描述】:

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

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

我已经阅读了关于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/

请在GitlabShared Runner 上帮助我

【问题讨论】:

    标签: android gitlab apk gitlab-ci gitlab-ci-runner


    【解决方案1】:

    注册共享跑步者的步骤:

    先决条件:应该已经安装了 Gitlab-Runner。请关注此文档以获取Installing Runner

    • 登录到 Gitlab。转到管理区 >> 概述 >> Runners >> 手动设置共享Runner

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

      gitlab-runner register

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

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

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

      • 请输入此跑步者的 gitlab-ci 令牌:jiRS-3KxGaEdkLo6tToZ

        (在手动设置共享Runner下的gitlab中查找token)

      • 请输入此跑步者的 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

        (请输入您需要运行器使用的执行器,根据执行器的选择您将获得其他选项填写。请查看executors的文件)

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

    您可以在 Gitlab 中进行验证。进入Gitlab,Admin Area >> Overview >> Runners >> Set up an shared Runner手动可以看到runner已经注册了名字my-first-shred-runner强>

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

    1. 转到 Gitlab 中的项目。
    2. 然后,在项目页面中,Settings >> CI/CD >> Runners >> Shared Runners
    3. 然后,单击Enable shared runners。现在,您可以使用 Gitlab CI/CD 的共享运行器了。
    4. .gitlab-ci.yml 中使用与shared runner 关联的标签,以便作业将使用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:
        - ci-shared
      script:
        - ./gradlew assembleDevelopment assembleProduction assembleStaging
      artifacts:
        paths:
          - app/build/outputs/
    
    

    注册特定跑步者的步骤:

    1. 登录到 Gitlab。转到项目,然后 设置 >> CI/CD >> Runners >> 手动设置特定的 Runner
    2. 接下来,按照上述步骤 2 中为Registering Shared Runner 提供的相同步骤进行操作

    【讨论】:

    • 如果你想使用 docker 作为执行器,那么按照这个文档docs.gitlab.com/runner/executors/README.html
    • 感谢您的回答!!我没有在我的 Gitlab 会话中获得 Admin Area 来执行此步骤 Admin Area >> Overview >> Runners >> Set up a shared Runner manually
    • 你是 gitlab 的管理员吗?因为只有管理员可以注册共享跑步者。
    • 不,我在他们为我创建帐户的公司工作,我的 Gitlab url 类似于 188.3X1X.XX.9X:3XX99
    • 然后,您可以为您的用例注册特定的跑步者或组跑步者。注册特定跑步者与共享跑步者相同。
    猜你喜欢
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 2015-10-07
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 2022-06-10
    相关资源
    最近更新 更多