1

我有一个带有两个构建任务的 VSTS 扩展,一个构建任务应该可用于 VSTS 和 TFS,另一个仅适用于 TFS。是否可以通过扩展清单为每个构建任务配置这个?

4

3 回答 3

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
}
于 2017-01-09T09:25:37.063 回答
0

没有任何方法可以通过扩展清单文件来实现这一点。正如 jessehouwing 提到的,一个好的解决方法是:将两个构建任务合二为一,在构建设置中提供一个选项,让用户在运行构建任务时选择或检测构建环境。如果选择或检测到 TFS,则运行两个构建任务中的代码,否则只运行第一个构建任务中的代码。

于 2017-01-09T08:03:35.680 回答
0

使扩展清单表明该扩展仅适用于团队服务 ( targets = Microsoft.Visualstudio.Services.Cloud)。

于 2017-01-06T09:47:01.920 回答