我设置了一个简单的Jenkins文件,只需几步即可完成。 我在Bitbucket(git)和两个名为master和develop的分支上设置了一个新的回购。
当我提交要掌握的东西时,两个分支结帐并在jenkins中构建。开发分支上的行为相同。
一旦提交了主分支,是否有可能仅限制master在Jenkins中构建?类似的行为发展?
答案 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。