Gitlab CI :- 在 gitlab 上推送后获取待处理状态
Posted
技术标签:
【中文标题】Gitlab CI :- 在 gitlab 上推送后获取待处理状态【英文标题】:Gitlab CI :- Getting pending status after push on the gitlab 【发布时间】:2021-02-11 16:34:55 【问题描述】:我正在使用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 配置:无效配置:未提供配置
请帮我解决这个问题。谢谢
【问题讨论】:
【参考方案1】:如果你有活跃的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/
跑步者标签截图:
设置跑步者
在为您的项目设置运行器之前,您需要首先:
-
Install gitlab-runner 在与 GitLab 安装位置不同的服务器上。
Register a runner [跑步者有 3 种类型:共享跑步者、团体跑步者和特定跑步者。根据需要,您可以选择注册哪个跑步者。]
注册跑步者时,您需要提供标签和您需要的runner executor类型。
注册跑者后,进入项目>>设置>>CI/CD>>跑者,可以看到跑者在线。如果您使用的是 Group 或 Shared runner,则需要在 Project settings 中启用 runner。
在您的情况下,您可以将 Specific Runner 与 Docker as Runner-Executor 一起使用,然后在 .gitlab-ci.yml
中使用您在注册 runner 时提供的标签。
【讨论】:
嗨@Sourav ..我已经在我的项目中尝试过你的 yml 文件。但不幸的是遇到了同样的问题,比如 这项工作被卡住了,因为你没有任何在线的活跃跑步者分配给他们的这些标签:dev-ci 请检查一次并告诉我..谢谢....我已经创建了标签 dev_ci...但是遇到这个异常,请ibb.co/5RwjTV1check一次跨度> 你从哪里创建了 runner 像上面 2PxrajYi... 请指导我谢谢 @RavindraKushwaha 我已经通过设置 gitlab-runner 修改了我的答案。 感谢@Sourav,您的建议已经奏效,我所做的是创建自定义运行器 docker 并从我的终端启动它,然后在我根据需要获得构建之后..是它适合吗?您能否指导我创建带有调味剂的版本(一次创建 2-3 个 apk)。请指导我。谢谢☺️ 所以你的意思是说你使用 docker 作为执行者?如果也是这样,是的,根据要求构建自定义 docker 映像并运行 CI,那是完全正确的。但抱歉,我不明白使用调味创建构建(一次创建 2-3 个 apk)您能否更具体一点。以上是关于Gitlab CI :- 在 gitlab 上推送后获取待处理状态的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 CI/CD 为 Gitlab 注册表推送基于 docker compose 的图像