我想让Jenkins将其构建工件(在我的测试结果中)添加到svn repo中。 我需要添加+ commit或将新创建的结果文件 - 无版本文件 - 导入到svn repo中。此ResultsFolder还包含旧版测试运行的较旧文件。 詹金斯首先检查了回购。
这是这样做的吗?
svn add .\ResultsFolder\*
以递归方式添加文件夹“ResultsFolder”的所有文件。该文件夹还包含版本化文件和文件夹,这是一个问题吗?!svn ci .
提交之前添加到repo。我之所以这样做是因为测试结果必须是:
答案 0 :(得分:2)
这是一个问题:每当你让Jenkins检查一个新的Subversion版本时,它将触发另一个Jenkins构建。你可能不希望这样。另外,你不应该检查Subversion由构建生成的东西。它会迅速导致您的存储库增长超出当前的磁盘大小,并且您最终会在您的存储库中找到大量没有人感兴趣的工件。相反:
这使它们更容易找到并且更容易找到。另外,当你不再对它们感兴趣时,你可以自动让Jenkins摆脱它们。请记住,您可以锁定 Jenkins构建,以防止您想要保留的工件(例如实际的发布二进制文件)更容易找到。
另外,您的其他计算机可以使用wget
或curl
将它们从Jenkins存储库中删除。
如果需要这些工件的另一个Jenkins作业是另一个Jenkins作业,您可以使用此插件将工件从此作业复制到另一个作业,并自动执行第二个作业。当我对可能需要花费几分钟才能运行的构建进行测试时,我会这样做。
即使你没有使用Maven作为构建过程,它也是存储和管理工件的好方法。作为构建过程的一部分,Jenkins可以在Maven中存储工件,您可以使用wget
,curl
甚至Maven本身自动从存储库中获取工件。
这有点复杂,但它是一个独立于Jenkins的定义标准方法。如果您决定从Jenkins搬到TeamCity,这很好。根据Jenkins的专有流程,你不会受到影响。
答案 1 :(得分:0)
为什么不考虑使用Sonar而不是重新发明它?
答案 2 :(得分:0)
这就是我为POM文件所做的:
rem
rem Update SVN with pom.xml file with bumped version
rem
svn co "SVN PATH" %WORKSPACE%\temp --depth files
cd %WORKSPACE%\temp
cp ../pom.xml .
svn ci pom.xml -m "Jenkins : Version Bump"
rd /s /q %WORKSPACE%\temp