[英]Force a Jenkins pipeline job to pull a new private image from Dockerhub
[英]Jenkins pipeline - Trigger a new build for a given job
我有兩個 Jenkins 管道,分別命名為A和B 。 兩者都使用相同的 docker 容器,名為C1 。 作業A如下所示:
pipeline {
agent {
node {
label 'c1'
}
}
stages {
...
}
post {
always {
script {
echo "always"
}
}
success {
script {
echo "success"
}
}
failure {
script {
echo "failure"
}
}
unstable {
script {
echo "unstable"
}
}
}
}
唯一的區別在於工作B 。 這在 post 操作中始終調用作業A ,如下所示:
build job: 'A/master', parameters: [ string(name: 'p1', value: params["p1"]) ]
通過啟動作業A發生錯誤,說:
Error when executing success post condition:
hudson.AbortException: No item named A/master found
而且,通過列出父文件夾,很明顯作業A沒有文件夾。
我該如何解決這個問題?
KI
此問題的解決方案是這些作業所在的文件夾名稱。 因此,作業的名稱是test/A/master 。
從您的評論中,我了解到您正在使用 Gitea 插件從您的 Gitea 實例接收存儲庫。 Gitea 存儲庫是按用戶/組織組織的,就像 Github 一樣。
通過 Jenkins 插件添加 Gitea 項目(用戶/組織)后,其中一項工作的全名將是:
<user_or_orga>/<repository_name>/<branch>
例如,對於存儲庫“stackoverflow”所屬的用戶名“crash”,它將是(對於主分支):
crash/stackoverflow/master
要獲取所有項目的列表,包括所有完整的作業名稱,您可以在腳本控制台中運行它(在 Manage Jenkins 下):
Jenkins.instance.getAllItems(AbstractItem.class).each {
println(it.fullName)
};
PS 對於 Bitbucket 插件和其他插件,它是相同的規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.