Сборка должна быть прервана, когда начинается новая. Поэтому в некоторых случаях сборка может быть прервана очень быстро (код конвейера не извлекается во время операции извлечения). Статус этой сборки - «сбой», а не «прерван», как ожидалось.
Нет пост-действия для нескольких веток конвейера. И я не нашел API для изменения статуса сборки.
Лог выглядит так:
Started by user Leo
> git rev-parse --is-inside-work-tree # timeout=10
Setting origin to https://eos2git.cec.lab.emc.com/xxx/xxx.git
> git config remote.origin.url https://eos2git.cec.lab.emc.com/xxx/xxx.git # timeout=10
Fetching origin...
Fetching upstream changes from origin
> git --version # timeout=10
using GIT_ASKPASS to set credentials PASSWORD IS TOKEN
> git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395)
at hudson.Proc$LocalProc.join(Proc.java:324)
at hudson.Proc.joinWithTimeout(Proc.java:170)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1992)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1715)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:72)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:405)
at jenkins.plugins.git.AbstractGitSCMSource.doRetrieve(AbstractGitSCMSource.java:351)
at jenkins.plugins.git.AbstractGitSCMSource.retrieve(AbstractGitSCMSource.java:373)
at jenkins.scm.api.SCMSource.fetch(SCMSource.java:564)
at org.jenkinsci.plugins.workflow.multibranch.SCMBinder.create(SCMBinder.java:95)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:295)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
Как сделать так, чтобы прерванная конвейерная сборка всегда имела статус "прервана".
Если конвейерные сценарии начнут обрабатывать, а затем прервать сборку, результат будет «прерван». Но когда сборка проверяет код, конвейерные сценарии не запускаются, а затем прерывают сборку, результатом сборки будет «сбой».