2017-10-18 181 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: ']]) 

       } 
      } 
     } 
    }