我有3个构建脚本,可以创建分布式应用程序套件的独立组件。它们存储在如下文件夹结构中:
LegacyComponents - “直播”但正在被替换的VB6代码
NewComponents - 用C#重写组件
数据库
TeamBuildTypes
└LegacyBuild
└NewBuild
└DatabaseBuild
在每个构建文件夹中,我都有一个名为TFSBuild.proj的脚本。
因为构建是分开的,所以每个构建都有不同的构建号。我需要用一个字符串标记每个字符串,将它们连接在一起,以便我可以“获取”一个标签并拥有完整一致的代码集。
我使用KitNumber属性创建了一个名为KitNumber.targets的文件,并将其放在TeamBuildTypes文件夹中。然后我在每个构建脚本中添加以下行:
<Import Project=".\..\KitNumber.targets"/>
我现在应该可以在一个地方更改套件编号,并在每次构建中应用它。
这适用于我的开发盒,因为源已经从TFS中删除但在构建机器上失败,因为只有包含构建脚本的目录的内容被关闭。
那么我在哪里存储共享属性以便我可以在每个脚本中使用它?
答案 0 :(得分:0)
使用包含我要应用的标签的单行文本文件:
<Target Name="ApplyKitNumberLabel" Condition="$(KitNumber) != ''">
<ReadLinesFromFile File="$(WorkspaceRoot)\TeamBuildTypes\KitNumber.txt">
<Output TaskParameter="Lines"
PropertyName="KitNumber" />
</ReadLinesFromFile>
<Label TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
Files="$(WorkspaceRoot)\$(BranchName)\LegacyComponents"
Name="$(KitNumber)"
Recursive="True" />
</Target>