我有一个带有两个构建任务的VSTS扩展,一个构建任务应该可用于VSTS和TFS,另一个仅用于TFS。是否可以通过扩展清单为每个构建任务配置它?
答案 0 :(得分:1)
我使用以下解决方法来显示消息并停止在TFS中构建。
var collectionUrl = process.env["SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"];
var regExpression = new RegExp("^((https?)\:\/\/)(([a-z0-9])+\.)*(visualstudio\.com)");
if(regExpression.test(collectionUrl))
{
//VSTS Detected
}
else
{
//Display message task not compatible with TFS
//Fail the build
}
答案 1 :(得分:0)
使extension manifest表示该扩展程序仅适用于团队服务(targets = Microsoft.Visualstudio.Services.Cloud
)。
答案 2 :(得分:0)
没有任何方法可以通过扩展清单文件实现此目的。一个好的解决方法就像jessehouwing提到的那样:将两个构建任务合并为一个,在构建设置中提供一个选项,让用户在运行构建任务时选择或检测构建环境。如果选择或检测到TFS,请运行两个构建任务中的代码,否则只需在第一个构建任务中运行代码。