我有一些无法安装 Java JDK 的构建主机(出于各种原因)。因此无法在那里启动 Jenkins Agent。我该如何将这些主机与 Jenkins CI 一起使用?
是否有可用的非 Java 代理实现?或者是否有可用的代理,例如仅使用 SSH 在构建主机上执行命令?
答案1
Jenkins 中有几个插件,允许通过 SSH 在远程服务器上执行命令并从/向这些服务器复制文件。
您无法通过这些实现完整的 Jenkins 代理功能,但它们允许您使用 Jenkins 界面在远程主机上执行操作。
例如我使用Jenkins通过SSH在多台服务器上部署网站代码。
答案2
我现在已经通过在另一台主机上运行代理,然后在我的 Jenkins 构建命令中使用scp
和在实际目标主机上启动构建来解决这个问题。此外,构建命令会比较代理主机和构建主机上的输出,并设置所有缺失的环境变量。这样,Jenkins 设置的环境变量就可以用于我的构建脚本了。ssh
env
它确实不漂亮,但是对于我的特定用例来说它有效。