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

通过Masters的脚本控制台在所有Jenkins从站上运行远程命令

方飞翼
2023-03-14
问题内容

我想ls在所有通过使用主机脚本控制台连接到主机的UNIX从机上运行相同的shell命令(像这样的非常简单的shell命令)。

如何使用groovy做到这一点?

想要执行以下操作:显示有关节点
的信息,但不显示信息,而是要在每个从属服务器上运行一些简单的UNIX命令并打印结果。


问题答案:
import hudson.util.RemotingDiagnostics;

print_ip = 'println InetAddress.localHost.hostAddress';
print_hostname = 'println InetAddress.localHost.canonicalHostName';

// here it is - the shell command, uname as example 
uname = 'def proc = "uname -a".execute(); proc.waitFor(); println proc.in.text';

for (slave in hudson.model.Hudson.instance.slaves) {
    println slave.name;
    println RemotingDiagnostics.executeGroovy(print_ip, slave.getChannel());
    println RemotingDiagnostics.executeGroovy(print_hostname, slave.getChannel());
    println RemotingDiagnostics.executeGroovy(uname, slave.getChannel());
}


 类似资料:
  • 这个问题似乎被问了多次,但所有答案都与Jenkins Pipeline jobs(插件:workflow job)有关。 我正在将一堆旧的自由式作业从旧的Jenkins独立服务器迁移到分布式Jenkinsenv,我决定将它们转换为Jenkins管道作业(不能使用Blue Ocean,因为SCM是SVN。 无论如何,对于某些作业来说,不希望清理它们的工作空间,因为它们是某种健全/验证作业,而且因为S

  • 问题内容: 我需要在Jenkins的奴隶脚本控制台之一上运行任意简单的东西。这是我正在尝试的: 但是,获得空输出: 有没有办法在Groovy中获取python的输出? 问题答案: 尝试将命令分成数组 不知道为什么您的版本不起作用。

  • 问题内容: 我有一个持续集成服务器(Jenkins),它可以构建代码(检查编译错误)并运行测试,然后将文件部署到远程服务器(不是war文件,而是实际的文件结构),我使用Jenkins插件,它允许我每晚通过samba传输文件。 现在,我需要做的是在远程服务器上运行ant命令。之后,我需要在远程服务器上启动应用程序服务器,然后通过从命令行运行.bat文件来启动应用程序服务器。 我完全不知道如何实现此目

  • 问题内容: 我正在通过脚本运行后台进程,Jenkin开始构建时将调用此脚本。但是,jenkins构建卡住了,并且在查看控制台时似乎正在运行该进程并等待其完成。 此过程将永远不会完成,可以将其视为侦听其客户端的服务器。每次触发时,我触发的每个构建都会杀死服务器进程并重新启动该进程,因此,我可以完美地处理这种情况。 有什么方法可以成功构建詹金斯吗? 问题答案: 确切的详细信息取决于您的操作系统(您没有

  • 在部署成功完成后,是否可以打印我的应用程序部署的URL?如果我能以某种方式获得这个URL,并将其打印在控制台上,那就最好了。 编辑我使用以下解决方案

  • 我在通过docker compose使用远程python解释器运行pycharm时遇到一些问题。除了Python控制台之外,其他一切都很好。当我按下run按钮时,它只显示以下消息: "错误:无法从docker-comment输出中找到服务"web"的容器名称" 我真的不明白为什么它总是让我觉得如果我的提供了服务。 有什么帮助吗? 编辑: docker-compose.yml Dockerfile