簡體   English   中英

GitLab 檢查管道狀態 - 永遠運行

[英]GitLab Checking pipeline status - running forever

我啟用了選項 - 設置/常規/合並請求/合並檢查 - 管道必須成功。 從那時起,每個合並請求都會自動開始執行管道,這實際上是我想要的。 問題是它永遠運行,我收到消息:檢查管道狀態如果我從 CI/CD 管道手動運行管道 - 立即運行管道完成。 我不明白出了什么問題以及為什么卡住了,我可以在某處檢查日志嗎? 對於測試,管道真的很簡單,只是退出1..但仍然不工作..在這個階段,即使合並請求中的狀態為:檢查管道狀態,管道列表中也不會列出“正在運行的管道”

我們遇到了合並請求不包含.gitlab-ci.yml文件的情況。 修復只是做一個變基

出於故障排除的目的,可以在CI/CD -> Pipelines -> Run Pipeline的特定分支上手動運行管道

對我來說, .gitlab-ci.yml文件發生了什么問題,因為我提到“master”作為“only”標簽的值..,然后在用我正確的分支名稱更新它后一切正常,IMO 應該是“main”

剛才自己遇到了這個,使用Gitlab共享跑步者。 嘗試從管道重新運行一項單獨的作業,希望它能解決問題。 它沒。 最好的方法是更改​​ MR 中最新更改的提交 id。 您可以按照@Bhargav11 的建議創建一個空提交,或者為了保持更清晰的提交歷史,請執行

$ git commit --amend --no-edit
$ git push --force

在你的分支上。

檢查您正在檢查管道狀態的當前分支和“僅:字段”中指定的分支是否相同:-master

在此處輸入圖像描述

我發現我的情況出了什么問題。 問題出在跑步者身上。 默認情況下啟用了“共享跑步者”,這導致了混亂。 我剛剛禁用了它們並啟用了我自己的跑步者,一切都開始按預期工作。 您可以在 CI / CD 設置中檢查這一點,我認為它們是默認啟用的。 基本上,管道只不過是跑步者的觸發器......然后跑步者負責執行。

只需添加一個空提交即可再次觸發它。

git commit -n -m "commit comment"

在我們的例子中,簡單地創建一個分支的副本( git checkout -b new-branch-name )並使用相同的代碼創建一個新的 MR 就可以解決這個問題。 新的 MR 管道成功執行。

來自 GitLab 文檔:“檢查管道狀態”消息

當合並請求還沒有與最新提交關聯的管道時,會顯示此消息。 這可能是因為:

  • GitLab 尚未完成創建管道

  • 您正在使用外部 CI 服務,但 GitLab 尚未收到該服務的回復。

  • 您沒有在項目中使用 CI/CD 管道。

  • 您在項目中使用 CI/CD 管道,但您的配置阻止管道在源分支上運行以進行合並請求。

  • 最新的管道已被刪除(這是一個已知問題)。

對於沒有觸發合並請求的工作的管道,這發生在我身上。

如果在合並請求期間我沒有測試或任何我希望運行的東西,我會創建一個不做任何事情的“虛擬”作業。

合並請求觸發規則:

rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'

然后在腳本部分添加一個簡單的回顯:

script: echo "Dummy job for merge-request"

就我而言,我在文件名上打錯了字,忘記在它前面加一個點。

請確保文件名是.gitlab-ci.yml

我是如何調試的?

在 GitLab UI 上,我進入 CI/CD 編輯器並看不到我的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM