Gitlab runner 启动失败。此作业被卡住,因为您没有任何在线活跃跑步者并分配了以下任何标签:ios

Gitlab runner fails to start. This job is stuck because you don't have any active runners online with any of these tags assigned to them: ios

我有一个遥控器 运行ner:

ci$ gitlab-runner --version Version: 12.2.0

.gitlab-ci.yml :

stages:
  - build
  - deploy

variables:
  LANG: "en_US.UTF-8"
  LC_ALL: "en_US.UTF-8"

build:
  tags:
    - ios
  stage: build
  script:
    - bundle exec fastlane build
  except:
    - develop
    - master
    - /^rc\/.*$/
  environment:
    name: production

deploy:
  tags:
    - ios
  stage: deploy
  before_script:
    - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
    - eval $(ssh-agent -s)
    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
    - ssh -vv git@gitlab.com
    - git config --global user.email "email@email.com"
    - git config --global user.name "username"
    - git branch
    - git branch -r
  script:
    - bundle exec fastlane deploy
  only:
    - develop
    - master
    - /^rc\/.*$/
  environment:
    name: production

post:
  stage: .post
  when: always
  script:
    - bundle exec fastlane clear_data_CI

Gitlab CI 无法 运行,首先删除此警告:

This job is stuck because the project doesn't have any runners online assigned to it.

转到跑步者页面 后来:

There has been a timeout failure or the job got stuck. Check your timeout limits or try again

因此添加了标签,但它停止了 运行ning。远程 运行ner 工作正常。有什么问题吗?

您必须确保您所指的远程运行器是:

  • 实际上运行
  • 在您项目的 Runners 部分
  • 中列为激活的跑步者
  • 配置为follow/listen相同tags

转到您的存储库的 Gitlab 项目设置。然后找到 CI / CD > Runners 的部分。您应该会看到类似下图的内容:

这里我们看到项目配置了一个runner(df51f559),它是运行(绿色)。如果您的回购 .gitlab-ci.yml 使用标签,那么该运行者 也必须具有相同的标签 。所以在这里,如果你的工作需要一个带有 ios 标签的跑步者,那么这个 UI 也应该显示跑步者有一个 ios 标签。

您可以使用 gitlab-runner verifylist:

验证跑步者令牌
root@buildpc:~# gitlab-runner verify
...
Verifying runner... is alive             runner=df51f559

root@buildpc:~# gitlab-runner list
my-runner                                Executor=docker Token=df51f55995e68cccb3ada8c1458ec7 URL=http://192.168.1.61/

这里my-runner

  • 令牌必须与跑步者页面中显示的令牌匹配
  • URL 必须匹配你的 Gitlab 项目的基础 URL

如果您看不到已激活的运行器,该部分提供了有关如何为您的项目注册新运行器的说明。也可以参考Gitlab的Registering Runners帮助文档

如果您对 Gitlab 实例具有管理员访问权限,您还可以转到管理仪表板,Runners,select 一个可用的运行器,然后手动将其添加到您的项目中。您还可以编辑标签。

最后,,如果你原来没有活跃的跑步者然后你成功添加了一个,你需要重新启动工作。 AFAIK,当一项工作因为没有跑步者而卡住时,它不会在跑步者可用时自动恢复。您必须手动重试或重新触发作业。

在另一种情况下,您可能会看到这条消息,乍一看并不明显。

如果您的 运行ner 设置为仅 运行 来自受保护分支的作业,并且您在创建管道后“保护”了该分支,那么 重试卡住的作业将不会不工作。您需要触发一个新的管道。