我有幾個使用Jenkinsfile的項目幾乎相同。唯一的區別是它必須簽出的git項目。這迫使我必須每個項目一個Jenkinsfile雖然可以共享相同的一個:如何配置Jenkins 2管道,以便Jenkinsfile使用預定義變量
node{
def mvnHome = tool 'M3'
def artifactId
def pomVersion
stage('Commit Stage'){
echo 'Downloading from Git...'
git branch: 'develop', credentialsId: 'xxx', url: 'https://bitbucket.org/xxx/yyy.git'
echo 'Building project and generating Docker image...'
sh "${mvnHome}/bin/mvn clean install docker:build -DskipTests"
...
有沒有辦法預先配置git的位置作爲創造就業過程中的變量,所以我可以重複使用相同的Jenkinsfile?
...
stage('Commit Stage'){
echo 'Downloading from Git...'
git branch: 'develop', credentialsId: 'xxx', url: env.GIT_REPO_LOCATION
...
我知道我可以將它設置這種方式:
該項目是參數 - >字符串參數 - > GIT_REPO_LOCATION,默認= http://xxxx,並與env.GIT_REPO_LOCATION訪問它。
缺點是用戶被要求用默認值開始構建或者改變它。我需要對用戶透明。有沒有辦法做到這一點?
感謝您的建議,我會在接下來的幾天嘗試它,並回來一些反饋。 – codependent
考慮使用多分支管道。然後jenkins會爲每個分支顯示一個單獨的subjob。這是一個更好的可視化,您可以開始爲每個分支手動構建。 – herm