我们在Windows机器上安装了Jenkins(1.643)。我创建了一个powershell脚本,它将与我的linux服务器连接。
Import-Module SSH-Sessions
New-SshSession -ComputerName vagrantvm -Username test -Password test@123
Invoke-SshCommand -ComputerName vagrantvm -Command "cd /NFS_DATA/SP5/latest && echo test@123 | sudo -S ./test.sh /NFS_DATA/SP5/latest $App_Server"
此代码在PowerShell IDE和PowerShell终端中正常工作。但它在詹金斯的工作中失败了 - >执行Windows Powershell
错误讯息:
Import-Module:指定的模块' SSH-Sessions'没装 因为在任何模块目录中找不到有效的模块文件。在 C:\ Program Files (x86)\ Jenkins \ jobs \ VeoCanDev_6.1Deploy \ workspace \ autodeploy .ps1:9 焦炭:22 + Import-Module<<<< SSH-会议 + CategoryInfo:ResourceUnavailable:(SSH-Sessions:String)[Impo rt-Module],FileNotFoundException
New-SshSession<<<< -ComputerName $ dev_app1 -Username arthi_balakris hnan -Password Hybris @ 123 + CategoryInfo:ObjectNotFound:(New-SshSession:String)[],Comm和NoFotException
Invoke-SshCommand<<<< -ComputerName $ dev_app1 -Command" cd / NFS_DA TA / SP5 / latest&& echo Hybris @ 123 | sudo -S ./test.sh / NFS_DATA / SP5 / latest $ App_ Server" + CategoryInfo:ObjectNotFound :( Invoke-SshCommand:String)[],C ommandNotFoundException
当我在Jenkins服务器上的PowerShell终端中执行Get-Module -ListAvailable
时,显示的输出是:
ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest AppLocker {} Manifest BitsTransfer {} Manifest PSDiagnostics {} Manifest SSH {} Manifest SSH-Sessions {} Manifest TroubleshootingPack {} Manifest WebAdministration {} Manifest AutoItX {}
但是当在Jenkins作业中执行相同的命令时,不会列出SSH模块:
ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest BitsTransfer {} Manifest PSDiagnostics {} Manifest TroubleshootingPack {} Manifest WebAdministration {} Manifest AutoItX {}