自定义VSTS扩展:如何在VSTS扩展的构建任务脚本中调用dotnet工具

时间:2018-09-28 09:17:33

标签: typescript azure-devops azure-pipelines-build-task azure-devops-extensions

我正在尝试创建VSTS Build Task扩展,该扩展调用以下CLI命令:

libman restore

当然,不必在构建代理程序上安装libman CLI,所以我认为它也应该尝试安装它:

dotnet tool install -g Microsoft.Web.LibraryManager.Cli

据我了解,为了在Linux构建代理上实现此目的,我应该使用打字稿,并附加该powershell。

如何安装dotnet工具CLI(或在其他位置找到)并使用打字稿调用命令?

编辑: 到目前为止,我已经知道了:

import * as path from "path";
import tl = require('vsts-task-lib/task');

let libmanExePath = tl.which('libman');
if (!libmanExePath){
    var dotnet = tl.tool(tl.which('dotnet', true));
    await dotnet.arg(['tool', 'install', '-g', 'Microsoft.Web.LibraryManager.Cli']).exec();
}
var libman = tl.tool(libmanExePath);

await libman.arg(['restore']).exec();

但是如何找到使用.csproj中的 DotNetCliToolReference 引用的CLI工具?

0 个答案:

没有答案