GitLab 检查管道状态 - 永远运行

Har*_*ski 10 gitlab gitlab-ci-runner

我已启用选项 - 设置/常规/合并请求/合并检查 - 管道必须成功。从那时起,每个合并请求都会自动开始执行管道,这实际上是我想要的。问题是它一直在运行,我收到消息:检查管道状态如果我从 CI/CD 管道手动运行管道 - 立即运行管道完成。我不明白出了什么问题以及为什么卡住了,我可以在某处或某处检查日志吗?对于测试,管道非常简单,只是退出 1 .. 但仍然无法正常工作.. 在此阶段,即使合并请求中的状态为:正在检查管道状态,管道列表中也未列出“正在运行的管道”

Poh*_*How 13

我们遇到了合并请求不包含该文件的情况.gitlab-ci.yml。修复方法很简单,就是进行 rebase

为了进行故障排除,可以在特定分支上手动运行管道CI/CD-> Pipelines->Run Pipeline


vik*_*ath 12

对我来说,该.gitlab-ci.yml文件出现了问题,因为我提到“master”作为“only”标签的值..,然后在使用我正确的分支名称(IMO 应该是“main”)更新它后一切正常


小智 10

对于没有触发合并请求的作业的管道,会发生这种情况。

如果我没有测试或我希望在合并请求期间运行的任何内容,我会创建一个不执行任何操作的“虚拟”作业。

合并请求触发的规则:

rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
Run Code Online (Sandbox Code Playgroud)

然后在脚本部分添加一个简单的 echo:

script: echo "Dummy job for merge-request"
Run Code Online (Sandbox Code Playgroud)

  • 将在 https://gitlab.com/gitlab-org/gitlab/-/issues/334281 中解决。现在,您还可以禁用 *设置 -> 合并请求 -> 管道必须成功* 选项。 (2认同)

mil*_*ner 8

我自己刚刚使用 Gitlab 共享运行器时遇到了这个问题。尝试从管道中重新运行一项单独的作业,希望能够解决该问题。它没。最好的方法是更改​​ MR 中最新更改的提交 id。您可以按照@Bhargav11的建议创建一个空提交,或者为了保持更清晰的提交历史记录,请执行以下操作:

$ git commit --amend --no-edit
$ git push --force
Run Code Online (Sandbox Code Playgroud)

在你的分支上。


Har*_*ski 1

我发现我的情况出了什么问题。问题出在跑步者身上。默认启用“共享跑步者”,这导致了混乱。我刚刚禁用了它们并启用了我自己的跑步者,一切都开始按预期工作。你可以在 CI / CD 设置中检查这一点,我认为它们是默认启用的。基本上,管道只不过是运行程序的触发器......然后运行程序负责执行。