我目前正在尝试为构建的AfterBuild事件添加一组命令。命令如下
我的项目文件中定义的部分类似于
<Target Name="AfterBuild">
<PropertyGroup>
<TF>"$(VS100COMNTOOLS)..\IDE\tf.exe"</TF>
</PropertyGroup>
<!-- include the Challenges dll and config -->
<ItemGroup>
<UtilityDLLs Include="$(OutDir)\*.*" />
</ItemGroup>
<!-- Automticly checkout files -->
<Exec Condition=" '$(BuildingInsideVisualStudio)' == 'false' " Command="$(TF) checkout /noprompt /recursive $(SolutionDir)..\Binaries\Latest\$(ConfigurationName)\">
</Exec>
<!-- copy the file to features build output-->
<Copy Condition=" '$(BuildingInsideVisualStudio)' == 'false' " ContinueOnError="true" OverwriteReadOnlyFiles="true" SourceFiles="@(UtilityDLLs)" DestinationFolder="$(SolutionDir)..\Binaries\Latest\$(ConfigurationName)\" />
<!-- Automatically checkin files -->
<Exec Condition=" '$(BuildingInsideVisualStudio)' == 'false' " Command="$(TF) checkin /noprompt /recursive /comment:"COMMENT HERE" $(SolutionDir)..\Binaries\Latest\$(ConfigurationName)\">
</Exec>
</Target>
在我的上一个命令中,您将看到/ comment:“COMMENT HERE”选项
我想用MSBUILD或TFS属性替换“COMMENT HERE”,其中包含进行初始签入的开发者的评论。这是一个选择吗?如果是这样,我该如何做到这一点?
我在Common MSBuild Project Properties
中找不到精化
如果不泄露太多信息,请让我详细说明我要完成的工作。我们的TFS结构基本上是这样的
当开发人员检查对/ trunkCore / Library#的更改时,构建开始,生成的二进制文件会自动检入/ trunkWeb / CoreBinaries和/ trunkAPI / CoreBinaries。签入是因为我在Library1,Library2和Library3 csproj文件中定义的AfterBuild配置设置(如上所示)。
初始代码签入和签入二进制文件是两个单独的签到。我想在自动签入的签到说明中引用原始代码签名的注释,而不是使用“自动签入二进制文件”等固定文本。在CoreBinaries目录中查看二进制文件的历史记录时,这样做会更加清晰。这不是必须的,但绝对会很好。
答案 0 :(得分:4)
签入和构建不是1到1.可能没有与手动排队的构建相关的签入,也没有与计划或滚动构建相关的签入。
您需要添加自定义任务或调用自定义可执行文件,但只要您不使用Gated Checkins(因为签入在构建之后技术上不会发生)您应该能够查询所有签到评论,抓住你需要的。
var changesetSummaries = InformationNodeConverters.GetAssociatedChangesets(IBuildDetail);
foreach(var changesetSummary in changesetSummaries) {
changesetSummary.Comment....
}