svn是否导入或添加+;在詹金斯犯了罪?

svn是否导入或添加+;在詹金斯犯了罪?,svn,jenkins,Svn,Jenkins,我想让Jenkins将其构建工件(在我的测试结果中)添加到svn repo中。 我需要添加+提交或将新创建的结果文件(未版本化的文件)导入svn repo。此ResultsFolder还包含来自已版本化的旧测试运行的旧文件。 回购协议首先由詹金斯审核 这样做吗 在Jenkins中添加构建步骤,执行Windows批处理cmd(Jenkins在Windows计算机上运行) Svn add cmd:Svn add.\ResultsFolder\*递归添加文件夹“ResultsFolder”的所有文件。

我想让Jenkins将其构建工件(在我的测试结果中)添加到svn repo中。 我需要添加+提交或将新创建的结果文件(未版本化的文件)导入svn repo。此ResultsFolder还包含来自已版本化的旧测试运行的旧文件。 回购协议首先由詹金斯审核

这样做吗

  • 在Jenkins中添加构建步骤,执行Windows批处理cmd(Jenkins在Windows计算机上运行)
  • Svn add cmd:
    Svn add.\ResultsFolder\*
    递归添加文件夹“ResultsFolder”的所有文件。文件夹还包含版本控制的文件和文件夹,这是问题吗
  • Svn commit cmd:
    Svn ci.
    将以前的添加提交到回购
  • 我这样做的原因是因为测试结果需要:

  • 备份
  • 在另一台机器上检查以进行进一步分析

  • 你为什么不考虑使用而不是重新发明它呢?

    这里有一个问题:每当你让Jenkins签入一个新的Subversion版本时,它就会触发另一个Jenkins版本。你可能不想那样。另外,您不应该检查由构建生成的Subversion。它会很快使您的存储库增长到超出当前磁盘大小的程度,最终您的存储库中会出现大量无人感兴趣的工件。相反:

    使用Jenkins的归档功能保存构建工件。 这使它们更加可见,更容易找到。另外,当你不再对它们感兴趣时,你可以自动让詹金斯把它们处理掉。请记住,您可以锁定Jenkins构建,以防止您确实希望保留的工件(例如实际的发布二进制文件)更容易找到

    另外,您的其他机器可以使用
    wget
    curl
    将它们从Jenkins存储库中取出

    将此应用程序用于其他工作。 如果需要这些工件的另一个Jenkins作业是另一个Jenkins作业,则可以使用此插件将工件从该作业复制到另一个作业中,并自动执行第二个作业。当我要对一个可能需要几分钟才能运行的构建运行测试时,我会这样做

    全力以赴使用Maven 即使您没有将Maven用作构建过程,它也是存储和管理工件的一种好方法。Jenkins可以将工件作为构建过程的一部分存储在Maven中,您可以使用
    wget
    curl
    ,甚至Maven本身从存储库中自动获取工件


    这有点复杂,但它是一个独立于Jenkins的定义标准方法。如果你决定从詹金斯搬到TeamCity,这很好。您不必依赖Jenkins中的专有流程。

    这就是我为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
    

    也许再多了解一下环境。该项目存在多个平台:.NET、Qt、嵌入式linux…测试位于系统级。我制作了一个专用的测试序列器,可以与系统交互。测试系统引擎位于.NET中。我使用自己的测试序列脚本(序列化xml),测试结果也以这种格式保存。作为我使用的测试管理系统。为了自动化一些测试,我使用Jenkins。这将从TestLink获取测试并向TestLink报告。为了与插件接口,我的测试系统以TestNG模式格式输出。