首页 > 解决方案 > Gitlab CI :- 在 gitlab 上推送后获取待处理状态

问题描述

我正在使用在Gitlab-ci推送上创建构建,我还在.gitlab-ci.yml我的根目录中创建了。每次推送 Gitlab 上的代码时,我都会收到以下消息,如下所示

该作业被卡住,因为您没有任何可以运行该作业的活跃跑步者。

我已经Shared Runners在设置中启用了上述问题,例如没有活动成员。

请检查我的 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
  script:
    - ./gradlew assembleDebug
  artifacts:
    paths:
      - app/build/outputs/

在此处输入图像描述

我的所有推送暂停创建构建,请检查一次。

在此处输入图像描述

即使我手动创建了跑步者,但他们变得无法执行并获得以下异常

错误:作业失败(系统故障):获取 Kubernetes 配置:无效配置:未提供配置

请帮我解决这个问题。谢谢

标签: androidgitlabgitlab-cigitlab-ci-runner

解决方案


如果您有 active shared-runner,请尝试在 .gitlab-ci.yml 中提供跑步者的标签。假设 shared-runner 的标签是dev-ci,然后在更新的代码下方找到:

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 assembleDebug
  artifacts:
    paths:
      - app/build/outputs/

跑者标签截图:

在此处输入图像描述

设置跑步者

在为您的项目设置运行器之前,您需要首先:

  1. 在与安装 GitLab 的位置不同的服务器上安装gitlab-runner。
  2. 注册跑步者[跑步者有3种类型:共享跑步者、团体跑步者和特定跑步者。根据需要,您可以选择注册哪个跑步者。]
  3. 在注册 runner 时,你需要给出你需要的标签runner executor的类型。
  4. 注册完runner后,进入Project >> Settings >> CI/CD >> Runners,可以看到runner在线。如果您使用的是组或共享运行器,则需要在项目设置中启用运行器。

在您的情况下,您可以使用带有Docker 的特定 Runner作为 Runner-Executor,然后.gitlab-ci.yml使用您在注册 runner 时提供的标签。


推荐阅读