我想自动化构建,在创建构建之前我必须从 master pull ,然后我必须构建包。但是我想有一个检查点,看看在从 master pull 之前是否有任何冲突,这样我就可以使构建失败。
任何人都可以建议如何在 gitscm for jenkins 中执行此操作(或者 git 也可以)。我找不到合适的解决方案,也许我的理解不清楚,因为我没有开发背景。
提前致谢。
最佳答案
如果您在 jenkins 中执行此工作,则构建作业将在其自己的沙箱上运行,您可以破坏性地使用它,因为它无论如何都是临时的。正如@Romain Valeri 所建议的那样,您需要做的就是检查 git pull
操作的退出状态,并且只有在成功时才继续,因为 git pull 存在冲突并以非零值退出。
如果你的食谱是用 bash 编写的,那么像这样的东西就可以了:
if git pull; then
# proceed with build
else
# there was a conflict, abort with error
fi
或者只是
git pull or exit_with_error
# proceed with build
在您的 jenkins 构建配方中,等效的操作应该很简单。
关于git pull origin master,不 pull 检查是否有冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69118340/