在GCE VM上触发远程Jenkins作业

时间:2015-03-03 09:54:57

标签: jenkins google-compute-engine ssh-tunnel

我目前正在GCE VM上运行Jenkins。作为构建步骤,我想在同一项目中的另一个VM上触发Jenkins作业。问题是,对VM的HTTP和HTTPS访问被禁用,我无法使用curl远程触发它。 SSH隧道仍然是唯一的选择。但SSH到VM需要一个google_compute_engine私钥文件,这可以帮助您登录到特定用户..我对如何将此文件用于Jenkins用户感到困惑,该用户没有单独的shell并希望提供一些建议。提前谢谢!

1 个答案:

答案 0 :(得分:1)

最简单的方法是应用默认防火墙规则,通过在其中设置允许HTTP流量允许HTTPS流量复选框来允许实例的HTTP和HTTPS流量开发人员控制台上的详细视图,或使用gcloud命令手动添加 http-server https-server 标记:"

gcloud compute instances add-tags INSTANCE --tags http-server https-server".

设置到Jenkins服务端口的SSH隧道是可能的,并且它不一定需要使用google_compute_engine密钥。您可以配置和附加密钥并将该密钥的公共部分直接复制到Jenkins用户的authorized_keys文件中,就像使用任何其他服务器一样。有关详细信息,请参阅this link。如果使用自定义SSH密钥,请记住在设置隧道时指定相关的私钥。

另一个更直接的选择是为Jenkins端口创建新的防火墙规则并将它们应用于Jenkins实例。