我为解决方案设置了2个构建定义,1是每晚触发的每晚构建,另一个是门控签入构建,当开发人员尝试检查源控件中的新更改时将触发该构建.每晚构建使用自定义模板,该模板使用从Ewald Hoffman方法略微修改的方法来增加装配版本.当通过自定义活动签入文件以检查文件时,我得到构建错误:
您的签入无法完成,因为它会影响以下选通的构建定义\ Project\GatedBuld.要完成签入,您需要对shelveset Gated_2011-11-08_09.31.42.6934; DOMAIN\TFSBuildAccount的构建进行排队.
目前我还没有找到绕过这个门控签到版本的方法(使用*NO_CI*检查评论来阻止CI版本).
我已经尝试为构建服务帐户设置"覆盖签入验证的构建"权限(通过门控构建的安全性),但据我所知,这只会在手动检查代码时阻止门控构建(通过"门禁登记"对话框中显示的复选框).我正在寻找的是一种在自动检查更改时绕过门控构建的方法
有什么建议?
一如既往,感谢任何提前帮助
以编程方式检查更改时,可以创建WorkspaceCheckInParameters对象并将其OverrideGatedCheckIn属性设置为true.以下代码将绕过gated checkin(以及CI):
var pendingChanges = workspace.GetPendingChanges();
if (pendingChanges.Any())
{
WorkspaceCheckInParameters parameters = new WorkspaceCheckInParameters(pendingChanges, BuildCommonUtil.NoCICheckInComment)
{
OverrideGatedCheckIn = true,
};
workspace.CheckIn(parameters);
}
Run Code Online (Sandbox Code Playgroud)
请注意,您需要授予权限,以绕过执行所有受影响的构建定义的签入的帐户上的gated checkin.在这种情况下,它是Nightly版本的构建服务帐户.
| 归档时间: |
|
| 查看次数: |
2292 次 |
| 最近记录: |