【问题标题】:how to override cruisecontrol build number如何覆盖巡航控制内部版本号
【发布时间】:2009-09-04 18:00:21
【问题描述】:

我们使用 Cruisecontrol 作为我们的 CI 工具。我想知道如何覆盖巡航控制分配的内部版本号。

原因是: 我们为不同的模块运行了并行巡航控制会话,我不想为每个模块使用不同的内部版本号,而是使用相同的编号来关联它。

【问题讨论】:

    标签: build-automation cruisecontrol


    【解决方案1】:

    对于提出这个问题的人来说,答案可能为时已晚。但我在这里记录解决方案是为了让其他可能需要此信息的人受益。

    我刚刚使用我们新升级的 (2.8.2) 巡航控制进行了尝试,它确实运行良好。

    1. 使用 labelincrementer 任务以这种方式获得一些灵活性: 在您的 config.xml 上使用以下任务: 项目 >

      labelincrementer defaultLabel="my.cruise.build.1" />

      /项目>

    2. 确保您的 Cruise 主目录中没有任何序列化的构建文件(该文件的名称为 your_project>.ser。如果您确实在之前的构建中看到此文件尝试,删除它。不要担心它会被重新创建。这是防止构建任务形式窥视此文件并以先前格式而不是您刚刚在 config.xml 中指定的新格式增加数字所必需的

    3. 从日志目录(从 cchome>/logs/project_name> 区域)删除/清理所有日志文件 这是避免构建所必需的来自先前构建的标签值的引用任务。

    按照指定完成所有这些操作后,运行构建,您将按照您在“my.cruise.build.1”中指定的方式看到下一个构建的标签

    如果您需要更多信息,请查看此页面:http://cruisecontrol.sourceforge.net/main/configxml.html#labelincrementer

    【讨论】:

      【解决方案2】:

      AFAIK,使用标准 CruiseControl(没有自定义插件)是不可能的

      最接近的是“remoteProjectLabeller”标签器,它将使用另一个项目的构建标签:

          <labeller type="remoteProjectLabeller">
              <project>OtherProject</project>
          </labeller> 
      

      【讨论】:

        【解决方案3】:

        我也在做同样的事情。对我来说最简单的解决方案是在 2 个 config.xml 文件上运行 2 个 CC 实例,每个项目一个。他们每个人都会获得自己的内部版本号、存储库、自定义等。

        【讨论】:

          【解决方案4】:

          如果您使用 Subversion,有一种方法可以在 svn 中标记您的构建,然后检索该标签以用于其他构建。不幸的是,我从未设置过它,只看到它使用过,所以我无法提供有关如何实现它的任何细节。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-05-12
            • 2010-09-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-11-10
            • 1970-01-01
            相关资源
            最近更新 更多