如何禁用Teamcity为个人构建部署工件?

时间:2015-11-10 10:57:32

标签: intellij-idea teamcity

我正在使用Teamcity 9.0.2和IntelliJ 14.1.5。我有一个Teamcity构建,其中maven步骤配置了" Deploy Maven工件"启用。

当我运行个人构建时,工件会被部署为神器。

默认情况下,如何为每个构建禁用个人构建的部署工件?

2 个答案:

答案 0 :(得分:0)

目前,无法根据条件执行构建步骤。投票给相关请求:https://youtrack.jetbrains.com/issue/TW-17939。 截至目前,您可以:

  • 创建单独的构建配置,而不使用“部署构建”步骤(推荐)。您可以使用模板来简化设置。在这种情况下,将更容易解释结果,并且构建的统计信息将提供信息。
  • 如果构建是个人%system.build.is.personal%参数设置为true。因此,您可以检查构建步骤中的条件,并在需要时跳过它。

答案 1 :(得分:0)

这是我发现此问题的解决方法。我创建了两个额外的构建步骤,第一个标记为“Check for Personal Build”是Nant步骤,验证 BUILD_IS_PERSONAL 环境变量,如果设置,则更新团队城市< strong> env.PublishPath 变量。

<project name="UpdateForPersonal" default="default">
  <target name="default">
    <if test="${environment::variable-exists('BUILD_IS_PERSONAL')}">
        <echo message="##teamcity[setParameter name='env.PublishPath' value='fake']" />
    </if>
  </target>
</project>

第二步是一个简单的CMD,将虚拟“发布”消息写入日志,但“自定义发布的工件”值来自“Deploy Artifacts To Artifactory”部分填充<强>%env.PublishPath%

如果构建是个人构建,则发布到工件将不会在日志中找到任何文件和日志警告,但构建过程并且不会发布任何工件。

默认情况下,配置版本中%env.PublishPath%的值设置为“”