2017-10-18 163 views
0

在我的項目,我用多SCM但它depricated 我有jenkinsFile項目一個領域X ,我需要兩個輸入 輸入1:選擇項目B的領域 輸入2:選擇項目的分支C 我使用GitParameter插件詹金斯管道項目3個庫

回答

0

從您的問題看來,這些項目顯然是相關的。因此他們應該成爲同一解決方案的一部分。 (我假設你正在使用.NET,但如果不是這種情況,這個想法仍然存在)。

一旦他們在一個解決方案中一起舉行,我會建議目前的最佳做法(在編寫每週發佈時是2.85)是使用一個多分支管道作業,它將自動檢測給定存儲庫中的分支。通過這種方式,詹金斯更緊密地與Git和GitHub功能集成在一起。

鑑於您已經建議您的項目不相關,我建議您將所有源代碼放在Git中,並使用允許您通過參數動態指定分支名稱的Git插件。

請參閱this帖子和this帖子。

+0

感謝對答案安德魯 – mouad

+0

我的項目是不相關的 我需要的是兩個參數來選擇分支的基礎上每個項目 – mouad

0

嗨我看過git插件+ git參數插件一切都很好,但是當我想選擇每個repo的分支時,它將兩個存儲庫的所有分支重新組合在同一個參數中,猜

所以我做了一些研究,我發現這個,它的工作原理。 謝謝我的朋友對你的幫助

node() { 
     stage('select') { 
      timeout(time: 5) 
        { 

         dir("repo x") { 
          git branch: 'master', credentialsId: 'xxxx', url: 'ssh://xx.git' 
          String remoteBranchesStr = sh(script: "git branch -r", returnStdout: true).trim() 
          remoteBranchesStr = remoteBranchesStr.replaceAll(" ", "") 
          remoteBranchesStr = remoteBranchesStr.replaceAll(",", "") 
          remoteBranchesStr = remoteBranchesStr.replaceAll("[", "") 
          remoteBranchesStr = remoteBranchesStr.replaceAll("]", "") 
          def remoteBranches = []; 
          remoteBranches= remoteBranchesStr.split('origin/'); 
          gitBranch = input(id: 'x', message: 'Sélectionner la branche x :', parameters: [[$class: 'ChoiceParameterDefinition', choices: "$remoteBranches", description: '', name: 'x : ']]) 
         } 


         dir("repo y") { 
          git branch: 'master', credentialsId: 'yyyy', url: 'ssh://y.git' 
          String remoteBranchesStr = sh(script: "git branch -r", returnStdout: true).trim() 
          remoteBranchesStr = remoteBranchesStr.replaceAll(" ", "") 
          remoteBranchesStr = remoteBranchesStr.replaceAll(",", "") 
          remoteBranchesStr = remoteBranchesStr.replaceAll("[", "") 
          remoteBranchesStr = remoteBranchesStr.replaceAll("]", "") 
          def remoteBranches = []; 
          remoteBranches = remoteBranchesStr.split('origin/'); 
          gitBranch = input(id: 'y', message: 'Sélectionner la branche y:', parameters: [[$class: 'ChoiceParameterDefinition', choices: "$remoteBranches", description: '', name: 'y: ']]) 

       } 
      } 
     } 
    }