[英]Jenkins git branch selection on scm triggered builds
我已經閱讀了 git 插件文檔以及這里的幾個問題,但並沒有真正了解 git 中分支選擇的基本概念。
設置
Jenkins 作業
具有以下階段的管道腳本
stage('Clone Repo') {
steps {
checkout([$class: 'GitSCM',
branches: [[name: "**"]],
extensions: [[$class: 'CleanCheckout']],
userRemoteConfigs: [[url: 'ssh://git@git.server/project/repo.git', credentialsId: 'secret']]
]);
}
}
Bitbucket 服務器
每次推送的 Webhook 指向: http://jenkins.url/git/notifyCommit?url=ssh://git@git.server/project/repo.git
問題
我通過嘗試和錯誤理解了以下內容:
這個對嗎? 我想知道這個隱式分支定義是否會導致意外行為。
范圍
此外,我已將管道腳本更改為具有手動構建的分支選擇參數:
parameters {
gitParameter(name: 'branch',
defaultValue: 'master',
type: 'PT_BRANCH',
selectedValue: 'DEFAULT',
quickFilterEnabled: true,
sortMode: 'ASCENDING_SMART',
branchFilter: 'origin/(.*)',
description: 'Branch to run the job')
}
和結帳階段:
stage('Clone Repo') {
steps {
checkout([$class: 'GitSCM',
branches: [[name: "*/${branch}"]],
extensions: [[$class: 'CleanCheckout']],
userRemoteConfigs: [[url: 'ssh://git@git.server/project/repo.git', credentialsId: 'secret']]
]);
}
}
手動運行作業可以正常工作。 如何通過 webhook 為正確的分支觸發此作業(例如覆蓋參數)?
提前致謝
如果我正確理解了您的問題,您想要完成一個多分支管道。
下面的鏈接是jenkins多分支流水線初學者教程。
https://devopscube.com/jenkins-multibranch-pipeline-tutorial/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.