【发布时间】:2021-11-06 03:05:42
【问题描述】:
我想自动化构建,在创建构建之前我必须从 master 中提取,然后我必须构建包。但我想在从 master 拉取之前有一个检查点,看看是否有任何冲突,这样我就可以使构建失败。
任何人都可以建议如何在 gitscm 中为 jenkins 执行此操作(或 git 也可以)。我找不到合适的解决方案,也许我的理解不清楚,因为我没有开发背景。
提前致谢。
【问题讨论】:
-
创建目标分支的副本,尝试拉取它,然后根据退出代码,您会知道是否可以在真实目标上复制。确实感觉会有/应该有一种更“优雅”的方式来先发制人地知道,但我不知道。
-
是的,它的工作方式与 shell 脚本相同,但我认为 git 命令本身必须有一种方法。非常感谢。
-
注意
pull的意思是运行fetch,然后运行第二个命令来处理fetch获得的提交。该second 命令是可配置 并且可能有也可能没有合并冲突的命令。如果您要构建可预测且可靠的软件,请不要在此处使用git pull,因为git pull的行为基于某些用户的配置,因此很难预测。 -
在任何情况下,判断合并是否失败的唯一方法(假设您希望将
git merge作为第二个命令)是尝试它。目前这意味着您必须在工作树中尝试。只有一种方法可以做到这一点。
标签: git jenkins build jenkins-groovy