【问题标题】:How to access Jenkins running on EC2 MAC instance?如何访问在 EC2 MAC 实例上运行的 Jenkins?
【发布时间】:2021-03-22 11:46:17
【问题描述】:
我一直致力于在 AWS EC2 MAC 实例上设置 Jenkins。在 MAC 实例上安装 Jenkins 后,我可以通过提供“localhost:8080”在本地从 MAC 访问 Jenkins。但是我无法通过使用“实例公共 IP:8080”在其他网络浏览器上执行相同的操作。但是,我们能够通过 SSH 成功连接到实例。
以下是我们尝试过的一些解决方案:
- 在 AWS 安全组中包括端口 8080。
- 确保实例已启用互联网网关调制解调器。
- 我们还尝试启用 AWS 安全组中的所有端口。
- 已配置本地系统防火墙设置并尝试过。
- 已将 ICMP 添加到安全组。
- 也尝试配置 MAC 实例的防火墙。
所有这些解决方案都没有奏效。还有什么我错过的实现吗?
【问题讨论】:
标签:
amazon-web-services
jenkins
amazon-ec2
jenkins-cli
aws-security-group
【解决方案1】:
你是如何在 MAC 上安装 Jenkins 的?如果你是用 homebrew 来安装 Jenkins,这里就是答案:
如果您的 Jenkins 通过 Homebrew 运行,
由于该文件夹是 macOS 上的隐藏文件夹。因此您需要执行以下操作来取消隐藏文件夹。
在 finder -> 中打开 Macintosh HD 并 按 cmd + shift + 。 (点)
这将显示所有隐藏的文件夹。
取消隐藏文件夹后,将以下命令粘贴到终端:
nano /usr/local/Cellar/jenkins-lts/2.xxx/homebrew.mxcl.jenkins-lts.plist
将 httpListenAddress 127.0.0.1 更改为 0.0.0.0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.jenkins</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-Dmail.smtp.starttls.enable=true</string>
<string>-jar</string>
<string>/usr/local/opt/jenkins/libexec/jenkins.war</string>
<string>--httpListenAddress=0.0.0.0</string>
<string>--httpPort=8080</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
完成上述步骤后,您可以使用主机名或公共 IP 地址访问 Jenkins。