Изменение порта Jenkins на macOS
Проблема с изменением порта Jenkins на Mac
Я пытался изменить порт по умолчанию для Jenkins, который составляет 8080. На Linux или Windows это можно сделать просто редактированием конфигурационного файла. Однако конфигурационный файл Jenkins на Mac выглядит совершенно иначе, чем на других системах.
Конечно, можно передать параметр --httpPort
при запуске сервера, но я хочу сделать это через конфигурационный файл.
Есть ли возможность сделать это именно так?
P.S.: Проксирование экземпляра Jenkins через Apache частично решает проблему, но мне нужно изменить порт Jenkins.
Спасибо!
2 ответ(ов)
По-видимому, стандартный способ настройки параметров Jenkins на macOS следующий:
- Добавьте параметры по умолчанию, это изменит файл
/Library/Preferences/org.jenkins-ci.plist
:
sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 7070
- Остановите службу Jenkins:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
- Запустите службу Jenkins снова:
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
После выполнения этих шагов Jenkins будет использовать указанный порт 7070.
Перед тем как изменить порт Jenkins на macOS, важно обратить внимание на способ установки Jenkins.
Я рекомендую устанавливать Jenkins с помощью 'Homebrew', если вы планируете собирать проекты для iOS. При установке через .pkg
вы можете столкнуться с различными ошибками, которые довольно трудно исправить.
Я установил Jenkins LTS с помощью следующей команды:
brew install jenkins-lts
Таким образом, мой файл plist Jenkins расположен тут:
/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
.
Как установить Java 8 на Mac
Как настроить порт для приложения Spring Boot
Где находится JAVA_HOME на macOS Mojave (10.14) до Lion (10.7)?
Что значит 'synchronized'?
Как объявить массив в одну строку?