Jenkins Pipeline同时建立所有分支机构

时间:2017-11-22 22:29:09

标签: jenkins jenkins-pipeline jenkins-blueocean

我设置了一个简单的Jenkins文件,只需几步即可完成。 我在Bitbucket(git)和两个名为master和develop的分支上设置了一个新的回购。

当我提交要掌握的东西时,两个分支结帐并在jenkins中构建。开发分支上的行为相同。

一旦提交了主分支,是否有可能仅限制master在Jenkins中构建?类似的行为发展?

1 个答案:

答案 0 :(得分:0)

我认为您可以使用临时文本文件来保存每个分支的上一个成功构建SHA($ LAST_SUCCESSFUL_BUILD_SHA)。然后,当从repo进行新的提交时,我们将检查提交来自哪个分支。

CURRENT_SHA=$(git rev-parse HEAD)

if [ $FORCE_REBUILD = true ] || [ $CURRENT_SHA != $LAST_SUCCESSFUL_BUILD_SHA ]; then
    echo "New commits available OR it was forced to build."
else 
    echo "Already up-to-date. Skip build."
    curl -v -X POST --data "description=no changes, skip." ${JENKINS_BUILD_URL}submitDescription --user <username>:<password>
    curl -v -X POST ${BUILD_URL}stop --user <username>:<password>
    echo "Waiting for abort to take effect :D"
fi

如果新提交来自另一个分支,那么使用Jenkins开放API跳过构建是件好事。

我已将此应用于我的自由式工作,但尚未尝试使用Jenkinsfile。