Dan*_*ndy 4 continuous-integration pre-build-event azure-devops visual-studio-2017
目前,我在本地构建解决方案时运行预构建命令。但是,在 VSTS 持续集成服务器上构建时不需要此命令。
有没有办法在本地计算机上构建时仅运行预构建事件命令?
我知道您可以添加如下条件语句。但是本地构建还是 CI 构建有什么区别吗?
if $(ConfigurationName) == Local
Run Code Online (Sandbox Code Playgroud)
在 VSTS 中使用Visual Studio 生成任务时,您可以从任务配置传递 MSBuild 参数。通过这种方式,您可以定义自己的自定义属性,例如RunsOnCI并将其默认为false. true然后您可以在构建定义中将其设置为。
假设您的预构建事件中有以下代码:
if $(BuiltOnCI) == true (
echo "Hello World!"
)
Run Code Online (Sandbox Code Playgroud)
然后,您需要编辑.csproj文件并添加带有默认值的BuiltOnCI属性:
<PropertyGroup>
...
<BuiltOnCI>false</BuiltOnCI>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
您可以通过在命令行上运行 MSBuild 来测试您的更改。像这样运行它不会显示 Hello World 消息:
msbuild myproject.csproj
Run Code Online (Sandbox Code Playgroud)
在命令行上传递参数可以将其设置为 true:
msbuild StackoverflowSample.csproj /p:BuiltOnCi=true
Run Code Online (Sandbox Code Playgroud)
现在它可以在本地运行,您可以使用/p:BuiltOnCi=trueVSTS 任务并将其放入 MSBuild 参数字段中。
| 归档时间: |
|
| 查看次数: |
3035 次 |
| 最近记录: |