通过DevOps SSH任务访问管道变量

5

我在Azure DevOps的pipeline中有一个SSH任务,连接到另一个目标服务器进行部署。

目标服务器上没有我的管道变量,也没有任何传递它们的方法通过标准SSH任务。例如,如果我运行pwd,我的变量都不会显示。

其中一些变量是密码。

如何最简单地将它们传递到我的远程服务器?


嗨,最近进展如何?在目标机器上执行的Powershell任务是否能帮助您在远程管道中设置变量?如果您仍有疑问或问题,请随时留言。 - Mengdi Liang
1个回答

2
使用目标机器上的PowerShell任务与设置变量的PS脚本配合使用,可以帮助您实现此目的。
此任务可帮助您连接远程服务器,然后完成PowerShell脚本。
要设置变量脚本,您可以检查此格式Write-Verbose -verbose:
Param(
  [string]$psw
)
Write-Verbose "##vso[task.setvariable variable=NewPSWVariable]$psw" -verbose

enter image description here

我在.ps1文件中编写了脚本,然后选择文件路径,在PowerShell on Target Machine任务中调用并将值传递给参数。这里我使用的是Write-Verbose,它可以帮助将变量打印到控制台中,有助于调试日志。

1
“目标机器上的Powershell”任务并不符合我的要求。它需要用户名/密码进行连接。我是通过“SSH服务连接”连接到Ubuntu机器的。 - Blair
此外,它也不允许映射秘密变量 - 秘密会被清空... 因此,在远程秘密上无法访问这些变量。 - Blair

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接