我阅读了 Jenkins wiki 的部分,其中介绍了设置由 Jenkins 实例监控的远程作业。但是,该文档令人困惑,因为它没有告诉我在 Jenkins 机器或远程机器(完成这项工作的机器)上配置什么。
此外,该文档还提到了可以直接触发的 Java 命令和其他需要 servlet 容器的命令。我是否必须在远程机器上安装 servlet 容器?
也许它都在那里,但对我来说,它就像两个文档的混合。你能澄清一下吗:
- 我需要在远程计算机上执行什么操作?
- 我需要在 Jenkins 机器上做什么?
谢谢。
在 Jenkins 中,您需要使用"监视外部作业"选项创建作业。 给它起一个名字,例如"夜间备份"。
在运行外部作业的机器上,需要安装 Java 和一些基本的 Jenkins JAR 文件,以便将作业结果发送到 Jenkins。
正如 wiki 页面所说,在某些版本的 Debian 或 Ubuntu 上,您可以使用以下方法执行此操作:
sudo apt-get install jenkins-external-tool-monitor
否则,您必须手动将一堆 JAR(即 wiki 页面上列出的那些)复制到您的远程机器。
一旦你的远程机器上有可用的 JAR,你可以在那里执行任何你喜欢的命令,只要你在它前面加上一些 Jenkins 信息:在哪里可以找到 Jenkins 安装、主 Java JAR 和作业名称:
JENKINS_HOME=http://my-jenkins/ java -jar jenkins-core-*.jar nightly-backup ./backup.sh --nightly /home
其中http://my-jenkins/
是 Jenkins 的基本 URL,nightly-backup
与您在 Jenkins 中创建的"监视外部作业"的名称匹配,./backup.sh --nightly /home
是您希望运行的命令。
此 ./backup.sh
命令的输出将在完成后自动显示在 Jenkins 中。
看起来现在称为"jenkins-external-job-monitor",所以你要输入:
sudo apt-get install jenkins-external-job-monitor