重启后Jenkins运行已删除分支的规范

时间:2012-01-05 09:33:51

标签: git github continuous-integration hudson jenkins

我使用Jenkins和Github存储库,重启后Jenkins在所有分支上运行spec,甚至是从repo中删除的那些分支。如何让jenkins仅在实际的repo分支上运行规范?

1 个答案:

答案 0 :(得分:14)

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

  1. Jenkins git插件可让您在每次构建之前运行git remote prune。由于该命令的文档非常具体,它将完全符合您的要求:

      

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

    中本地使用。

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

  2. 第二个选项,我Jenkins使用的选项和我个人喜欢的选项,是使用Workspace Cleanup Plugin。此插件将删除给定作业的整个工作区之前之后项目构建执行。因此,这将为您的Maven,Ant,[*] *创建一个干净,新近检出的环境,无论用于构建项目。是的 - 它需要一个完整的项目结账,在某些情况下可能需要一段时间,但它会给出100%愚蠢无错的解决方案,其中所有文件都是新的,因为开发人员打算他们是。