I'm modifying .gitlab-ci.yml in my project, so that the rules of jobs can be clear.
I found that my jobs are set as manual in "rules" block,and didn't set allow_failure. According to the spec. ,the default value is false.
After I push new commit, those manual jobs are waiting manual start.And the pipeline will show "blocked".
However, if I set "allow_failure = TRUE",the result of pipeline would be "passed".
I'm wondering if the "blocked" status are still in the system,and takes more resource than "passed" status take.
Should I set allow_failure as true in manual jobs?
The blocked
status (it called manual
in the API) does not require any additional resources as well as allow_failure:false
.
There are two types of manual jobs: optional
and blocking
. optional
jobs do not have to finish successfully to have pipeline finished with success. In turn blocking
jobs must finish successfully to have pipeline finished with success.
The blocked
status is used to show on the web UI that there are blocked
manual jobs in the pipeline that have not yet been executed.