具有多个跑步者的Teamcity元跑者 - 退出跑步者而不会失败

时间:2016-06-26 22:52:51

标签: powershell teamcity

好的,所以这里是一个TeamCity元跑者,里面有2个独立的跑步者。从本质上讲,第一个跑步者将拥有一堆逻辑,用于确定是否应该进行部署。

<build-runners>
  <runner name="Step 1" type="jetbrains_powershell">
    <parameters>
      <param name="jetbrains_powershell_bitness" value="x86" />
      <param name="jetbrains_powershell_execution" value="PS1" />
      <param name="jetbrains_powershell_minVersion" value="4.0" />
      <param name="jetbrains_powershell_script_code"><![CDATA[

#Bunch of powershell logic here... under some conditions we want nothing deployed

#Now I want to exit the whole build step, not just this single runner
Exit #<- Fails the whole build, not what I want

]"]]></param>
      <param name="jetbrains_powershell_script_mode" value="CODE" />
      <param name="teamcity.step.mode" value="default" />
    </parameters>
  </runner>
  <runner name="Deploy Project" type="octopus.deploy.release">
    <parameters>
      <param name="octopus_additionalcommandlinearguments" value="" />
      <param name="octopus_deployto" value="%Octopus.EnvironmentName%" />
      <param name="octopus_host" value="%system.Octopus-ServerUrl%" />
      <param name="octopus_project_name" value="%ProjectName%" />
      <param name="octopus_releasenumber" value="%ProjectRelease%" />
      <param name="octopus_version" value="3.0+" />
      <param name="octopus_waitfordeployments" value="true" />
      <param name="secure:octopus_apikey" value="123123" />
      <param name="teamcity.step.mode" value="default" />
    </parameters>
  </runner>
</build-runners>

我可以采用什么方式退出整个元运行步骤,以便在下一个构建步骤中继续正常运行?

1 个答案:

答案 0 :(得分:0)

供应商的回应:

“似乎没有干净的方法可以跳过剩余的元流程步骤,而不会影响构建(成功)状态。如果你不介意设置构建失败,你可以尝试执行”如果所有先前步骤成功完成“元跑步者跳过。“

虽然TeamCity中的元流功能非常好,但它确实有其局限性。