在GitLab Merge Request前進行的GitLab CICD pipeline過程中發生This jobs depends on other jobs with expired/erased artifacts: job_name
錯誤。
這問題原因是前一次pipeline job完成的artifacts(一些目錄及檔案的通稱)已經過期(expired)了,而下一次的job的執行又依賴前一次job的artifact所導致。
例如pipeline有兩個job A及B,執行順序為 A -> B。B的執行依賴A執行後產出的artifacts,但A的artifact產出後超過artifacts:expire_in
設定的時間才執行B,所以發生此錯誤。
通常這發生在手動執行job的時候發生。CICD pipeline中的jobs通常都是自動化依序執行,但某些階段(stage)例如部署(deploy)可能會設為手動執行。而在前面自動化最後一個stage執行產生artifact後超過expire_in
才去手動觸發下個job就會發生這個現象。
沒有留言:
張貼留言