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

Sła*_*osz 13 git continuous-integration hudson github jenkins

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

Łuk*_*nek 14

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

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

    删除所有陈旧的跟踪分支.这些陈旧的分支已经从引用的远程存储库中删除,但仍然在"远程/"中本地可用.

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

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