2015-11-10 37 views
1

我正在使用Teamcity 9.0.2和IntelliJ 14.1.5。我有一个使用配置了“部署Maven构件”的maven步骤的Teamcity构建。如何禁用Teamcity为个人构建部署工件?

当我运行个人构建时,工件被部署到artifactory。

如何禁用为我的每个构建默认为个人构建部署工件?

回答

0

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

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

这是我发现这个问题的解决方法。我创建了两个额外的构建步骤,第一个标记“检查个人构建”是南特的步骤,对BUILD_IS_PERSONAL环境变量的验证,如果设置,更新了TeamCity的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写操作作为虚拟“发布”消息发送到所述日志,但“自定义出版伪影”的值是从“部署工件来artifactory的”部通过%填充env.PublishPath%

如果构建是个人的,发布到artifactory将不会找到任何文件并将警告记录到日志中,但构建过程并没有发布任何构件。

%env.PublishPath%设置为“”默认配置中构建的值。

相关问题