我有一个持续集成服务器(Jenkins),它构建我的代码(检查编译错误)并运行测试,然后将文件部署到远程服务器(不是war文件,但实际的文件结构)我这样做Jenkins插件允许我通过samba传输文件,它每晚都会这样做.
现在,我需要做的是在远程服务器上运行ant命令.之后,我需要在远程服务器上启动应用程序服务器,通过从命令行运行.bat文件来启动应用程序服务器.
我对如何实现这一点非常无能为力,我知道Jenkins能够运行批处理命令,但是如何让它们在服务器的上下文中运行而不是在构建服务器的上下文中运行?
如果Windows上的Jenkins,*nix上的远程,使用plink.exe
(实际上是命令行PuTTy
)
如果Jenkins在Windows上,远程在Window上使用 psexec.exe
如果Jenkins在*nix上,远程在*nix上,请使用 ssh
如果Jenkins在*nix上,远程在Windows上,(更新2015-01)Ansible http://docs.ansible.com/intro_windows.html支持从unix/linux机器调用Windows命令,例如powershell,https:/ /github.com/ansible/ansible-examples/blob/master/windows/run-powershell.yml
告诉我涉及哪些操作系统(Jenkins和遥控器),我将进一步闪现.
编辑:
下载页面psexec.exe
列出所有命令行选项.您将需要以下内容:
psexec \\remotecomputername -u remoteusername -p remotepassword cmd /c
替换
为实际命令,就像从命令提示符执行它们一样.
请注意,psexec
首先需要安装服务,并且需要提升的命令提示符/管理员远程凭据才能执行此操作.
此外,您需要运行psexec -accepteula
一次以接受EULA提示.