teamcity - 在 TeamCity 中跳过个人构建步骤

标签 teamcity teamcity-8.0

在运行 TeamCity 8.0 的 CI 服务器上,我有一个构建配置,其最后一步是创建和推送新版本的 NuGet 包。

我想知道如果当前构建是个人构建,是否有办法抑制这两个步骤。

有什么线索吗?

最佳答案

在 teamcity 中公开了一个环境变量,可以告诉您这是否是个人构建 BUILD_IS_PERSONAL :

http://confluence.jetbrains.com/display/TCD7/Predefined+Build+Parameters

例如。使用 msbuild runner(你只需要提供 nuget 路径)

<Project DefaultTargets="Pack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <Target Name="Pack" Condition="$(BUILD_IS_PERSONAL)!='True'">
    <Message Text="Personal: $(BUILD_IS_PERSONAL)"/>
    <Exec Command="$(NUGETPATH)\nuget pack $(NugetProject)"/>
  </Target>
</Project>

或者,您可以使用额外的构建步骤来暂停构建步骤的条件。从而使它们有条件:

添加一个使用 powershell 的额外构建步骤-
if (([environment]::GetEnvironmentVariable("BUILD_IS_PERSONAL","Process")) -eq "True")
{ 
  throw
}

在每个构建步骤都有一个选项:执行步骤
如果您选择“如果之前的所有构建成功”选项,则该步骤将通过
如果您选择:“即使之前的某些构建步骤失败”,它将执行。

关于teamcity - 在 TeamCity 中跳过个人构建步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867343/

相关文章:

TeamCity Nuget 安装构建步骤不适用于多个源,其中之一是 TC 的私有(private) NuGet 源

git - 特定构建配置的 Team City 未决更改不是默认分支

teamcity - 是否可以指定何时运行构建功能?

git - 如何检测 TeamCity 中当前代码更改的标签?

teamcity - 如何将文件附加到 Teamcity 中的电子邮件通知

TeamCity:向提交更改的用户发送电子邮件通知,这会导致构建链中的构建失败

windows - Teamcity 管道命令行输出到文件

git - Teamcity:无法对代理执行 checkout :无法在路径 C:\Program Files (x86)\Git\bin\sh.exe 运行 git

version-control - 如何为TeamCity设置Mercurial VCS构建触发器,而忽略标签操作

teamcity - 限制对某些 TeamCity 项目的访问