【发布时间】:2018-06-28 17:09:57
【问题描述】:
出于开发目的,我的团队定义了一个构建后事件,用于在本地打包和发布 nuget 包。在 VSTS 中构建期间,此步骤不是必需的,因为我们在构建期间定义了一个步骤,用于将 nuget 包打包并发送到不同的服务器,没有符号。现在这一步在我们运行的任何构建中执行。如何仅在构建服务器中防止这种情况发生?
【问题讨论】:
标签: azure-devops azure-pipelines
出于开发目的,我的团队定义了一个构建后事件,用于在本地打包和发布 nuget 包。在 VSTS 中构建期间,此步骤不是必需的,因为我们在构建期间定义了一个步骤,用于将 nuget 包打包并发送到不同的服务器,没有符号。现在这一步在我们运行的任何构建中执行。如何仅在构建服务器中防止这种情况发生?
【问题讨论】:
标签: azure-devops azure-pipelines
您将不得不为此深入研究 MSBuild。您需要添加一个条件来检查在构建上下文中运行时设置的环境变量之一,并且仅在该环境变量为空时运行。
例如,
<PropertyGroup>
<PostBuildEvent Condition=" '$(BUILD_SOURCESDIRECTORY)' == '' ">echo Hello World</PostBuildEvent>
</PropertyGroup>
BUILD_SOURCESDIRECTORY 是在构建上下文中运行时填充的环境变量,但通常不会在开发人员的桌面上填充。因此,echo Hello World 只会在该值为空时运行。
【讨论】: