繁体   English   中英

Jenkins基于git的选定分支构建

[英]Jenkins build based on selected branch from git

我创建了一个jenkins文件,该文件将列出git存储库中的分支。 它将显示在选择中。 需要做的是,我必须仅构建所选分支。 我已使用以下代码列出分支并将其保存在branch.txt文件中

stages {
stage('getbranches') {
        steps {
            git credentialsId: 'All', url: 'https://myrepo@bitbucket.org/professional/project.git'
            sh '>branch.txt'
            sh 'git branch -r | awk \'{print $1}\' ORS=\'\\n\' >>branch.txt'

        }
    }
}

在下一步中,我选择带有此代码的分支

stage('Select a branch') {
        steps{
            script{
            listBranches = readFile 'branch.txt'
            echo "please click on the link here to chose the branch to build"
            BRANCH_NAME = input message: 'Please choose the branch to build ', ok: 'Select',
            parameters: [choice(name: 'BRANCH_NAME', choices: "${listBranches}", description: 'Branch to build?')]

         }
     }
}

现在,我如何只构建所选的分支。

我尝试使用以下代码进行检出并仅添加构建阶段。

stage ('checkout a branch') {
        steps {
         echo "checking out branch ${BRANCH_NAME}"
            git credentialsId: 'All', url: 'https://myrepo@bitbucket.org/professional/project.git'
            sh 'git checkout "${BRANCH_NAME}"'

        }
    }
  1. 仅仅签出一个分支并构建它会单独构建那个分支吗?
  2. 还是将建立主分支而不是所选分支。

如果是,那么如何单独建立所选分支?

  • 此外,每次运行jenkins管道时,它都不得使用在上次构建期间克隆的旧文件。

无法正确解决您的问题,请找到以下我为您解决的问题。

我想说的是,使用GIT Web钩子来实现您的情况,因为在Web钩子中,它将触发您进行任何更改的分支(在Jenkins中创建多分支管道,以便为每个分支创建工作)您的分支机构)

请遵循以下内容:

  1. 如何在詹金斯中创建多分支管道

  2. 如何添加网络挂钩

在仅要进行更改的分支中,将仅为此触发构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM