git pull origin master,不 pull 检查是否有冲突

标签 git jenkins build jenkins-groovy

我想自动化构建,在创建构建之前我必须从 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/

相关文章:

git - 查找也存在于/被推送到上游的最后一个本地 git 提交

Swift套件管理员-没有 list 错误

jenkins - 通过 Jenkins 构建/部署 Vue.js 项目

java - build.xml 未运行 junit 测试用例

git - Android Studio 不会忽略 .gitignore 文件

Git 推送一个特定的提交

jenkins - 通过MSDeploy.exe进行Web部署

node.js - lerna 在 Jenkins 上发布 "git remote update"失败 "Could not read from remote repository."

java - 子字符串 pom.xml 中的变量

docker - Gradle docker由于执行顺序而无法构建镜像