Jenkins在重新启动后对已删除的分支运行规范



我将Jenkins与Github存储库一起使用,重新启动后,Jenkins在所有分支上运行spec,即使是从repo中删除的分支。如何让jenkins只在实际的回购分支上运行规范?

当您的本地存储库(客户端)中仍然有所有分支、标记等时,就会发生这种情况。为了避免在构建过程中使用它们,您可以考虑以下几种场景:

  1. Jenkins git插件使您能够在每次构建之前运行git remote prune。由于该命令的文档非常具体,它将完全按照您的意愿执行:

    删除下所有过时的跟踪分支。这些过时的分支已经从引用的远程存储库中删除,但在"remotes/"中仍然可以在本地使用。

    此功能可在项目配置页面的源代码管理部分找到,然后找到Git和您的存储库定义。在它们下面应该有一个高级按钮,单击它之后,应该可以看到一个名为在构建之前修剪远程分支的选项。确保检查过了,你应该可以走了。

  2. 第二个选项,我的Jenkins中使用的选项,也是我个人更喜欢的选项,是使用工作区清理插件。此插件将在项目生成执行之前或之后删除给定作业的整个工作区。因此,这将为您的Maven、Ant、[…]*创建一个干净、新签出的环境,用于构建项目。是的,这将需要对项目进行全面检查,在某些情况下,这实际上可能需要相当长的时间,但它将提供100%愚蠢的无错误解决方案,其中所有文件都将是新的,正如开发人员所希望的那样

最新更新