Jenkins

时间:2017-09-29 03:57:29

标签: windows batch-file jenkins cmd winrm

我正在寻找帮助让远程PowerShell命令正常工作。这就是我所拥有的。

英特尔NUC与Windows 10运行Jenkins服务器(经理) 运行.bat文件(Worker)的单独机器运行窗口

我对PowerShell和脚本编写有些新意,如果这是一个错误的地方,我会请求建议在哪里提问。

所以在我的工作机器上,我有一个24/7运行的bat文件。有时我可能需要停止这个bat文件并启动一个不同的bat文件。我开始的bat文件,调用其他bat文件。从Jenkins,使用谷歌搜索,我已经能够使用taskkill命令停止这个bat文件知道文件名被调用。什么似乎不起作用是启动不同的bat文件。我没有看到文件名在任务管理器下启动。需要注意的是,当我检查任务管理器时,我正在使用与Jenkins运行远程命令不同的帐户检查任务。对于那些质疑为什么我这样做的人,我需要bat文件一直运行,如果出现错误,我有一个重新启动worker的reboot命令和一个启动bat文件的shell:startup脚本。这样做的帐户没有密码,需要保持这种状态。没有密码我找不到发布winrm命令的方法,所以我不得不创建一个带密码的第二个帐户来传递命令。我会到处寻找替代这个问题的方法,但现在不行。

我的最终目标是让Jenkins为多台Win 10机器运行winrm命令(需要时)以停止当前运行的bat文件,等待30秒并启动不同的bat文件。我知道可能还有其他选择,但我没时间弄清楚,就像厨师一样。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以查看项目jenkinsci/winrm-client-plugin是否对您的案例有所帮助:

  

此插件的主要目标是提供WinRM操作作为构建步骤。

freeStyleJob('WinRMClientJob') {
    steps {
        winRMClient {
            hostName('192.168.1.2')
            credentialsId('44620c50-1589-4617-a677-7563985e46e1')
            sendFile('C:\\test.txt','C:\\test', 'DataNoLimits')
            invokeCommand('dir')
        }
    }
}