gpt4 book ai didi

continuous-integration - 条件预生成事件命令

转载 作者:行者123 更新时间:2023-12-05 03:07:07 29 4
gpt4 key购买 nike

背景

目前,我在本地构建解决方案时运行预构建命令。但是,在我的 VSTS 持续集成服务器上构建时不需要此命令。

问题

有没有办法在本地机器上构建时只运行预构建事件命令?

我知道您可以添加如下条件语句。但是有什么东西可以区分它是本地构建还是 CI 构建?

if $(ConfigurationName) ==  Local 

最佳答案

使用 Visual Studio build 时VSTS 中的任务,您可以从任务配置中传递 MSBuild 参数。通过这种方式,您可以定义自己的自定义属性,如 RunsOnCI 并将其默认为 false。然后,您可以在构建定义中将其设置为 true

假设您在预构建事件中有以下代码:

if $(BuiltOnCI) == true (
echo "Hello World!"
)

然后您需要编辑您的 .csproj 文件并添加具有默认值的 BuiltOnCI 属性:

<PropertyGroup>
...
<BuiltOnCI>false</BuiltOnCI>
</PropertyGroup>

您可以通过在命令行上运行 MSBuild 来测试您的更改。像这样运行它不会显示 Hello World 消息:

msbuild myproject.csproj

在命令行上传递参数允许您将其设置为 true:

msbuild StackoverflowSample.csproj /p:BuiltOnCi=true

现在它可以在本地运行,您可以使用 /p:BuiltOnCi=true 并将您的 VSTS 任务放入 MSBuild 参数字段中。

关于continuous-integration - 条件预生成事件命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48380492/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com