MSBuild 脚本中的 Bamboo 变量值为空

Posted

技术标签:

【中文标题】MSBuild 脚本中的 Bamboo 变量值为空【英文标题】:Bamboo variable value is empty in MSBuild scripts 【发布时间】:2021-05-31 03:08:30 【问题描述】:

我有用于在 Bamboo 上构建整个应用程序的 MSBuild 脚本。 在 Bamboo 中配置了一些全局变量并在 MSBuild 脚本中访问它。最近在 Bamboo 中添加了新变量,现在无法从 Bamboo 变量中读取值。

示例脚本

<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
   <PropertyGroup>
     <ProductName>Test</ProductName>
     <TenantName>UnitTest</TenantName>
     <Platform>x64</Platform>
     <Configuration>Release</Configuration>
     <BuildVersion>$(bamboo_BuildVersionNumber)</BuildVersion>
     <GenerateMultiZDTBinaries>$(Bamboo_EnableMultiZDTZip)</GenerateMultiZDTBinaries>
    <GenerateSingleZDTBinaries>$(Bamboo_EnableSingleZDTZip)</GenerateSingleZDTBinaries>
 </PropertyGroup> 
<Target Name="Build"> 
   <Message Text="Value1: $(GenerateSingleZDTBinaries) and Value2: $(GenerateMultiZDTBinaries) - CONDITION1: '$(GenerateSingleZDTBinaries.Equals('yes', StringComparison.OrdinalIgnoreCase))' - CONDITION2: '$(GenerateSingleZDTBinaries)' == 'yes'" Importance="High" />  
</Target> 
</Project>

竹原木:

构建:构建 2021 年 3 月 1 日 07:08:24 值 1:和值 2:- CONDITION1: 'False' - CONDITION2: '' == 'yes'

新添加的属性的值为空,但 $(bamboo_BuildVersionNumber) 的值是从 Bamboo [此变量添加的时间很长] 中获取的,它在 Bamboo 版本:7.1.2 升级之前配置。

请有人帮我解决这个问题。

【问题讨论】:

【参考方案1】:

通过将 Bamboo 计划变量更改为小写来解决此问题。先前配置的计划变量 B​​amboo_EnableMultiZDTZip = true。现在我改为bamboo_EnableMultiZDTZip = true & 消费

<GenerateMultiZDTBinaries>$(bamboo_EnableMultiZDTZip)</GenerateMultiZDTBinaries>
<GenerateSingleZDTBinaries>$(bamboo_EnableSingleZDTZip)</GenerateSingleZDTBinaries>

我不知道为什么会有区分大小写的逻辑。

【讨论】:

以上是关于MSBuild 脚本中的 Bamboo 变量值为空的主要内容,如果未能解决你的问题,请参考以下文章

MSBuild + Bamboo 部署:构建一次并进行多次部署?

shell默认变量值

Bamboo 随机运行不同版本的 msbuild.exe 并构建失败

在 Bamboo 上使用 MSBuild 构建解决方案时遇到问题

执行 bash 脚本时隐藏 Gitlab 管道日志中的变量值

WebBrowser中获得脚本中的变量值