当前位置: 首页 > 面试题库 >

从jenkins在远程服务器(Windows)上运行批处理脚本

司寇山
2023-03-14
问题内容

我有一个持续集成服务器(Jenkins),它可以构建代码(检查编译错误)并运行测试,然后将文件部署到远程服务器(不是war文件,而是实际的文件结构),我使用Jenkins插件,它允许我每晚通过samba传输文件。

现在,我需要做的是在远程服务器上运行ant命令。之后,我需要在远程服务器上启动应用程序服务器,然后通过从命令行运行.bat文件来启动应用程序服务器。

我完全不知道如何实现此目的,我知道Jenkins可以运行批处理命令,但是如何使它们在服务器的上下文中而不是在构建服务器的上下文中运行?


问题答案:

如果Windows上的Jenkins在* nix上远程,则使用plink.exe(本质上是命令行PuTTy

如果Jenkins在Windows上,而在Windows上,则使用
psexec.exe

如果Jenkins在 nix上,而远程在 nix上,则使用 ssh

如果Windows上* nix上的Jenkins远程(更新2015年1月)Ansible
http://docs.ansible.com/intro_windows.html支持从unix
/ linux机器https:/调用Windows命令,例如powershell。/github.com/ansible/ansible-
examples/blob/master/windows/run-
powershell.yml

告诉我涉及了哪些操作系统(包括Jenkins和远程操作系统),我将进一步介绍。

编辑:
下载页面用于 psexec.exe 列出所有命令行选项。您将需要一些类似的东西:

psexec \\remotecomputername -u remoteusername -p remotepassword cmd /c <your commands here>
替换<your commands here>为实际命令,就像在命令提示符下执行它们一样。

请注意,psexec首先需要安装服务,并需要提升的命令提示符/管理员远程凭据才能安装。
另外,您需要运行psexec -accepteula一次以接受EULA提示。



 类似资料:
  • 问题内容: 我正在调试一些必须在我的虚拟机上运行的python脚本。而且,我更喜欢在本地(虚拟机外部)编辑脚本。因此,我发现每次都将脚本修改为虚拟机 很繁琐。谁能提出一些有效的方法? 特别是,我想知道是否可以在远程PVM上执行python脚本。像这样: 问题答案: 可以使用ssh。Python接受连字符(-)作为执行标准输入的参数, 运行 python –help 以获得更多信息。

  • 我使用Spring批处理管理来管理和监视作业和执行。如何调用一个作业并从一个独立的java应用程序启动它,该应用程序具有到包含Spring Batch Admin WebApp的服务器的给定HTTP连接。 谢谢你的帮助

  • 我正在windows机器上运行Jenkins.war进程的Jenkins。“java-jar Jenkins.war”。如果我关闭服务的命令提示符,詹金斯就会倒下。我希望Jenkins在命令提示符关闭的情况下仍然处于启动状态,甚至在机器重新启动之后,这个Jenkins也将被启动。我们如何在windows机器上做到这一点?

  • Iam设计具有多个节点的分布式远程分区批处理作业应用程序。所有的节点(jvm)都将是主节点,从节点也将运行在同一个jvm中。有可能在同一个JVM上拥有主服务器和从服务器吗?我试图测试这个,但它引起了一些问题,似乎spring远程分区不允许在同一个JVM上运行主服务器和从服务器?请帮帮忙。

  • 问题内容: 使用chromedriver让Win Jenkins奴隶还可以吗? 我的测试从Maven存储库中提取chromedriver和便携式chrome,然后执行它们。在本地和当构建用户在构建系统上执行相同操作时,工作正常。 当jenkins做同样的事情时,即使在前台运行(不是svc),它也会失败,并显示以下错误。我尝试传递参数来提高详细程度无济于事。 org.openqa.selenium.

  • 我有一个Cucumber测试套件,由Jenkins在一个服务器池上执行,该服务器池有时在服务器池中并发运行。 当服务器a上的测试运行更改了数据库存储的设置时,我遇到了竞争情况,这会导致服务器B上的测试运行失败,因为它正在寻找处于不同状态的设置 有没有办法将cucumber tests或Jenkins配置为在服务器B上运行场景,等待服务器a上运行的场景完成后再继续?