在 macOS 上更改 Jenkins 端口

Posted

技术标签:

【中文标题】在 macOS 上更改 Jenkins 端口【英文标题】:Change Jenkins port on macOS 【发布时间】:2011-10-31 15:30:32 【问题描述】:

我想知道如何更改 Jenkins 的默认端口 8080。使用 linux 或 windows,只需使用配置文件即可。但是 Jenkins 的 Mac 配置文件看起来和其他的完全不同。

当然可以在启动服务器时传递 --httpPort 参数,但我想在配置文件中执行此操作。

有这样的选择吗?

PS:通过 apache 传递 Jenkins 实例可以解决问题,但我想更改 Jenkins 端口。

谢谢!

【问题讨论】:

虽然这有点晚了:您应该阅读 Jenkins 安装程序的文档。您可以在 /Library/Documentation/Jenkins 中找到它(除非您自定义安装并选择不安装文档。) 【参考方案1】:

看起来默认方式是:

#添加默认参数 - 这将编辑 /Library/Preferences/org.jenkins-ci.plist

sudo 默认写入 /Library/Preferences/org.jenkins-ci httpPort 7070

#停止

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

#开始

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

【讨论】:

这行得通!不过,第一个命令也需要 sudo。否则,我会收到“无法写入域 org.jenkins-ci;正在退出”。 这应该被标记为正确的问题。另一个太乱了。 很酷,但是几个安装呢?还有另一个答案处理这个问题。詹金斯仍然需要以一种更清洁的方式来做这件事。 特殊答案。请注意,如果您收到/Library/LaunchAgents/org.jenkins-ci.plist: Could not find specified service,您可以尝试在没有sudo 的情况下执行停止/启动命令。 感谢您。我知道詹金斯,但我是 Mac 上詹金斯的新手。我同意这应该是公认的答案。【参考方案2】:

在macOS上修改Jenkins端口之前,一定要注意Jenkins的安装方式

这里如果你想处理ios项目构建,我建议你通过'Homebrew'安装Jenkins,因为使用.pkg安装的方式可能会遇到一些错误,很难解决问题。

我已经通过 brew 命令安装了 Jenkins LTS:

brew install jenkins-lts

所以我的 Jenkins plist 文件在这里:

/usr/local/Cellar/jenkins-lts/2.121.2/homebrew.mxcl.jenkins-lts.plist

您可以将httpPort 的值从默认的8080 修改为其他值,然后保存文件。

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>homebrew.mxcl.jenkins-lts</string> <key>ProgramArguments</key> <array> <string>/usr/libexec/java_home</string> <string>-v</string> <string>1.8</string> <string>--exec</string> <string>java</string> <string>-Dmail.smtp.starttls.enable=true</string> <string>-jar</string> <string>/usr/local/opt/jenkins-lts/libexec/jenkins.war</string> <string>--httpListenAddress=127.0.0.1</string> <string>--httpPort=8383</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>

sudo launchctl unload 命令对你不起作用。你必须尝试这些命令来重新启动你的 Jenkins 并使端口修改工作。

brew services stop jenkins-lts brew services start jenkins-lts

ifeegoo:~ ifeegoo$ brew services stop jenkins-lts Stopping `jenkins-lts`... (might take a while) ==> Successfully stopped `jenkins-lts` (label: homebrew.mxcl.jenkins-lts) ifeegoo:~ ifeegoo$ brew services start jenkins-lts ==> Successfully started `jenkins-lts` (label: homebrew.mxcl.jenkins-lts)

注意:如果你安装了 Jenkins LTS,一定要注意你的命令必须是jenkins-lts,而不是jenkins

【讨论】:

如果您导航到 /usr/local/opt/jenkins-lts 或您安装的任何版本的 jenkins,这也有效。我使用命令 'sudo nano' 来确保我拥有该文件的编辑权限。 鉴于 jenkins 现在建议使用 homebrew 安装在 macOS 上,这绝对是要走的路。超级容易。修改homebrew.mxcl.jenkins.plist(先备份),运行brew services restart jenkins。完成。 非常感谢!使用该 plist 配置文件,我终于让 Jenkins 使用 .local 或 IP 地址通过更改为 --httpListenAddress=0.0.0.0 来回答本地和本地网络请求 :) 如果你不精通vim/vi/nano,无法通过Finder找到,可以使用BBEdit的“Open file from path...”功能来编辑上面的文件(在你从终端扣除实际路径)。【参考方案3】:

我会引导你完成它:

cd /Applications/Jenkins sudo vi winstone.propertieshttpPort=9999 添加到文件中。要查看您可以输入的所有选项,请输入java -jar jenkins.war --help

/Applications/Jenkins 运行java -jar jenkins.war。您的端口将被更改。 jenkins.war 默认从./winstone.properties 获取配置选项。

Andrew-Finnells-MacBook-Pro:Jenkins afinnell$ pwd
/Applications/Jenkins
Andrew-Finnells-MacBook-Pro:Jenkins afinnell$ ls -al
total 87928
drwxr-xr-x   4 root  wheel       136 Aug 21 12:32 .
drwxrwxr-x+ 83 root  admin      2822 Aug 21 12:05 ..
-rwxr-xr-x   1 root  wheel  45014470 Aug 19 13:14 jenkins.war
-rw-r--r--   1 root  wheel        14 Aug 21 12:32 winstone.properties
Andrew-Finnells-MacBook-Pro:Jenkins afinnell$ sudo cat winstone.properties 
httpPort=9494
Andrew-Finnells-MacBook-Pro:Jenkins afinnell$ java -jar jenkins.war
Running from: /Applications/Jenkins/jenkins.war
webroot: $user.home/.jenkins
[Winstone 2011/08/21 12:33:19] - Beginning extraction from war file
Jenkins home directory: /Users/afinnell/.jenkins found at: $user.home/.jenkins
[Winstone 2011/08/21 12:33:21] - HTTP Listener started: port=9494

【讨论】:

【参考方案4】:

这对我将端口更改为 7070 或其他端口很有用。

sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 7070

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

More info about this

【讨论】:

这是最简单和最好的答案。这对我有用【参考方案5】:

我已经使用 Brew 在我的 Mac OS High Sierra 上安装了 Jenkins。

请按以下步骤操作:

    您必须将端口更改为以下文件:

    /usr/local/Cellar/jenkins/2.x.x/homebrew.mxcl.jenkins.plist

    分配任何空闲端口,例如 7070 或您想要的任何数字。[如果您有静态 IP,那么您可以分配端口 80(HTTP)]

    --httpPort=7070

    您还需要重新启动 Jenkins 服务器。使用以下 brew service 命令:

    $ brew services stop jenkins

    $ brew services 启动 jenkins

就是这样!

【讨论】:

这对我来说是解决方案,尤其是因为 /Library/Preferences/org.jenkins-ci 对我来说不存在。我认为是因为 OSX 的新安全模型 (>= High Sierra) 另外,如果你不精通vim/vi/nano,无法通过Finder找到,可以使用BBEdit的“Open file from path...”功能来编辑上述文件(从终端扣除实际路径后)。 请注意,如果您安装了jenkins-lts,则需要直接引用它,而不仅仅是jenkins。这既适用于存储配置文件的位置,也适用于重启服务时的名称【参考方案6】:

只要在终端写下如下命令:

sudo defaults write /Library/Preferences/org.jenkins-ci.plist httpPort 9999

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

应该可以解决的。

【讨论】:

【参考方案7】:

另一个解决方案是在不同的 HTTP 端口(即 7070 和 7071)上运行两个 Jenkins 守护程序:Multiple Jenkins daemons on different HTTP ports (Mac OS X)

【讨论】:

以上是关于在 macOS 上更改 Jenkins 端口的主要内容,如果未能解决你的问题,请参考以下文章

jenkins 更改端口

Jenkins系统上的时间不正确问题

jenkins安装-柠檬班

windows jenkins通过git获取代码

MacOS Jenkins:查找JRE并导入自签名证书

在 Mac OS 中更改 XAMPP MySQL 端口