我正在构建自定义VSTS发布任务。我使用Node和打字稿。我需要以特定用户(模仿)的身份执行任务,因为构建代理没有执行任务所需的权限。
我认为有两种选择:
以特定用户身份执行整个任务。
由于我使用toolrunner,我只能使用我的特定凭据执行工具管理器。
很遗憾,我找不到the task schema或task-lib的任何文档。我的代码目前看起来像这样(简化):
let tRunner:trm.ToolRunner = tl.tool(toolPath);
tRunner.arg(["--someArgument", someArgument])
await tRunner.exec();
我需要rTunner.exec()
作为构建代理之外的其他用户运行。我可以将凭据传递给任务。
在PowerShell中我会做这样的事情:
$pswd = ConvertTo-SecureString -String $password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList @($username, $pswd)
$ScriptBlock = {
param($args)
-- Execute here...
}
Invoke-Command -Credential $cred $ScriptBlock -ArgumentList $args
Node中的等价方式是什么?