【问题标题】:How to get Jenkins to create SSH tunnel to new EC2 instance?如何让 Jenkins 创建到新 EC2 实例的 SSH 隧道?
【发布时间】:2022-12-29 18:00:52
【问题描述】:

我有本地 Jenkins 和 Sonar Cube 设置。

Jenkins 将启动一个 EC2 实例(使用 ec2-plugin)并在其上运行一个代理,但我现在希望该作业将数据发布回 Sonar Cube API。

我试图通过将本地 Sonar Cube 节点暴露在互联网上来避免这样做。

由于我的 Jenkins 实例可以通过 SSH 连接到启动的节点,我假设我能够添加一个脚本,该脚本还可以创建一个 SSH 隧道到将端口转发 Sonar Cube 端口的节点。

有谁知道我可以让 Jenkins 在启动代理节点时设置 SSH 隧道的方法吗?

我只希望 Jenkins 能够在启动节点后运行以下命令。

ssh -R 9000:localhost:9000 me@my.agentnode.aws

【问题讨论】:

    标签: amazon-web-services jenkins amazon-ec2 ssh sonarqube


    【解决方案1】:

    “代理命令前缀”和/或“根命令前缀”(在 AMI 类型设置下)可以执行此操作。 代理命令前缀指定为“-R 127.0.0.1:22222:localhost:22” 产生下一个扩展连接命令

    INFO: Launching remoting agent (via SSH client process): ssh -o StrictHostKeyChecking=no -i /tmp/ec2_15656646762413263895.pem development@aaa.bbb.ccc.ddd -p 22 -R 127.0.0.1:22222:localhost:22  java  -jar ./remoting.jar -workDir .
    

    并在节点上给我们 TCP 127.0.0.1:22222 0.0.0.0:0 LISTENING

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 2018-07-28
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      相关资源
      最近更新 更多