我正在使用Jenkins和Github Plugin,我已经使用GitHub的webhook集成了它,它的工作就像一个魅力,除了每次有东西被推到仓库时都会触发构建。是否有一种方法可以仅在对远程分支master进行更改时限制构建?
master
q7solyqu1#
行动计划
这告诉Jenkins作业,仅在将某些内容推送到分支 master 时执行作业。
**图:**显示仅用于构建分支 * 主 * 的配置。
csga3l582#
可以选择使用带when子句的管道作业。请参阅trigger jenkins jobs only when a specific branch is updated。如果branch表达式不起作用,可以使用here描述的替代方法。
branch
when { expression { return sh(script: "git rev-parse --abbrev-ref HEAD", returnStdout: true).trim() == "main" } }
这是一个示例。
pipeline { agent any stages { stage('Checkout SCM') { steps { git(credentialsId: 'YOUR_JENKINS_SSH_KEY', url: 'ssh://git@<YOUR-GIT-REPO-URL>.git') } } stage('Build') { when { expression { return sh(script: "git rev-parse --abbrev-ref HEAD", returnStdout: true).trim() == "main" } } steps { echo "main" // DO STUFF } } } }
2条答案
按热度按时间q7solyqu1#
行动计划
这告诉Jenkins作业,仅在将某些内容推送到分支 master 时执行作业。
**图:**显示仅用于构建分支 * 主 * 的配置。
csga3l582#
可以选择使用带when子句的管道作业。
请参阅trigger jenkins jobs only when a specific branch is updated。
如果
branch
表达式不起作用,可以使用here描述的替代方法。这是一个示例。