在我的构建系统中,正在删除关键的无版本文件

时间:2014-01-14 19:25:19

标签: svn jenkins

在Jenkins中,触发构建时会删除像build.properties这样的无版本文件。因此,构建失败。如何防止这种情况?

2 个答案:

答案 0 :(得分:3)

Subversion甚至没有提供删除未版本控制文件的选项。所以Subversion没有这样做。

SVN的Jenkins插件有一个Checkout策略选项:“首先删除未版本化/忽略的文件,然后'svn update'”模拟干净的结账

听起来你必须使用该选项。检查您的Jenkins作业配置并使用其他选项,例如“尽可能多地使用'svn update'”

答案 1 :(得分:3)

尽管@Mark Phippards answer可能会让您超越眼前的问题,但真正的问题是需要使用无版本的文件来使您的构建工作。听起来这是一个蚂蚁构建?我建议对属性文件进行分层导入。

ant中的属性是不可变的,因此您可以加载多个属性文件 - 第一个获胜且无法更改。首先导入非版本化属性文件为开发团队提供了一种方便的机制,可以在工作站上以大多数持久的方式设置属性。

  1. build.properties签入svn项目
  2. build.xml导入user.properties 上方 build.properties
  3. users.properties添加到svn:ignore,以便永远不会签到。
  4. 在您的jenkins构建中,您可以设置任何需要设置或覆盖的属性。

    重点是 - 您的项目应该在签出后立即构建,您不需要创建属性(或任何其他非版本化的)文件。