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

Intellij idea 如何禁用Teamcity为个人构建部署工件?,intellij-idea,teamcity,Intellij Idea,Teamcity,我正在使用Teamcity 9.0.2和IntelliJ 14.1.5。我有一个Teamcity构建,配置了maven步骤,启用了“部署maven工件” 当我运行个人构建时,工件被部署到artifactory 默认情况下,如何为我的每个构建禁用为个人构建部署构件?目前无法根据条件执行构建步骤。投票支持相关请求:。 到目前为止,您可以: 创建一个单独的生成配置,不使用部署生成步骤(推荐)。您可以使用模板简化设置。在这种情况下,将更容易解释结果,并且构建的统计信息将是有用的 如果生成是个人的%sy

我正在使用Teamcity 9.0.2和IntelliJ 14.1.5。我有一个Teamcity构建,配置了maven步骤,启用了“部署maven工件”

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


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

目前无法根据条件执行构建步骤。投票支持相关请求:。 到目前为止,您可以:

  • 创建一个单独的生成配置,不使用部署生成步骤(推荐)。您可以使用模板简化设置。在这种情况下,将更容易解释结果,并且构建的统计信息将是有用的
  • 如果生成是个人的%system.build.is.personal%参数设置为true。因此,您可以在构建步骤中检查条件,并在需要时跳过它
目前无法根据条件执行构建步骤。投票支持相关请求:。 到目前为止,您可以:

  • 创建一个单独的生成配置,不使用部署生成步骤(推荐)。您可以使用模板简化设置。在这种情况下,将更容易解释结果,并且构建的统计信息将是有用的
  • 如果生成是个人的%system.build.is.personal%参数设置为true。因此,您可以在构建步骤中检查条件,并在需要时跳过它
      这是我找到的解决此问题的方法。我创建了两个额外的构建步骤,第一个标记为“检查个人构建”的步骤是第二个步骤,根据build\u验证是\u Personal环境变量,如果设置,则更新teamcityenv.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,它将作为伪“Publish”消息写入日志,但“自定义发布的工件”值来自“将工件部署到工件”部分,由%env.PublishPath%填充

      如果构建是个人的,则发布到artifactory将不会找到任何文件,也不会将警告记录到日志中,但是构建会通过,并且不会发布任何构件


      在配置生成中,%env.PublishPath%的值默认设置为

      这是我找到的解决此问题的方法。我创建了两个额外的构建步骤,第一个标记为“检查个人构建”的步骤是第二个步骤,根据build\u验证是\u Personal环境变量,如果设置,则更新teamcityenv.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,它将作为伪“Publish”消息写入日志,但“自定义发布的工件”值来自“将工件部署到工件”部分,由%env.PublishPath%填充

      如果构建是个人的,则发布到artifactory将不会找到任何文件,也不会将警告记录到日志中,但是构建会通过,并且不会发布任何构件

      默认情况下,配置生成中将%env.PublishPath%的值设置为