2014-03-15 2 views
4

Я смущен о настройке Jenkins slave на Mac. У Google, кажется, отличный ответ для опции java web start (https://blog.codecentric.de/en/2012/01/continuous-integration-for-ios-projects-with-jenkins-ci/), однако кто-то может прояснить шаги по настройке jenkins slave на mac с параметром ssh start.Настройка jenkins slave на Mac OS

В настоящее время мастер дженкинсов находится на Centos. Как я понял, чтобы сделать раба на Mac, вы должны: 1. Перейдите на Mac и создайте нового полноправного пользователя sudo для jenkins с домашней папкой, в которой будет находиться сам агент. 2. Настройте узел как узел узла usus в веб-интерфейсе Jenkins с паролем для входа этого пользователя. 3. Ограничьте свой макрос для этого узла.

Однако я не уверен, что первый шаг прав - мне нужно настроить пользователя jenkins вручную с повышенными привилегиями, возможностью входа в систему и т. Д. Возможно, возможно создать «скрытого» пользователя - если это так, может кто-нибудь помочь или указать на это хорошее руководство? Я новичок в терминале mac, поэтому не уверен, что шаги все равно, как linux или разные.

спасибо.

ответ

8

Вам нужен пользователь на Mac, который мастер Jenkins будет использовать для ssh. Но это точно так же, как настройка подчиненного Linux.

Независимо от того, нуждается ли пользователь в повышенных привилегиях, зависит от того, что вы хотите от Дженкинса сделать с учетной записью.

Вам также необходимо войти в Mac с консоли с помощью администратора и включить удаленный вход в панель общего доступа системных настроек. В той же панели вы можете ограничить удаленный вход для определенных пользователей или разрешить всем пользователям регистрироваться.

Если бы я был вами, я бы создал обычного пользователя для Дженкинса, используя панель «Пользователи и группы» в «Системные настройки». Создание скрытого пользователя с помощью инструментов командной строки возможно, но это немного связано. Если вы действительно хотите пойти туда, вы можете проверить, как постустановочных скрипт в Дженкинс Mac инсталлятор создает имени пользователя Дженкинс:

https://github.com/jenkinsci/packaging/blob/master/osx/scripts/postinstall-launchd-jenkins

+1

Ссылка не работает. –

+0

@DracoAter URL исправлен – Mark

-2

Попробуйте это: http://flow.apphance.com/introduction/hello-continuous-integration/osx-server/continuous-integration-server

  1. Убедитесь, что JDK 1.7 или выше на mac, проверьте, запускается java -version и $ JAVA_HOME.
  2. Скачать jenkins war from jenkins, скорее всего, вы создадите папку jenkins в/Users/Shared/Jenkins/если не найдете ее с помощью find/-name Jenkins.
  3. попробуйте запустить его попробовать этот /usr/bin/java -Dfile.encoding=UTF-8 -XX:PermSize=256m -XX:MaxPermSize=512m -Xms256m -Xmx512m -Djava.io.tmpdir=/Users/Shared/Jenkins/tmp -jar /Applications/Jenkins/jenkins.war --httpPort=8080
  4. Для запуска Дженкинс, как другой пользователь: редактировать Библиотека/LaunchDaemons/org.jenkins-ci.plist к нужному пользователю.
  5. Для запуска Дженкинс, как другой пользователь: Чаун -R CORRECT_USER: CORRECT_USER/Users/Shared/Jenkins/
  6. Судо launchctl выгрузить -w /Library/LaunchDaemons/org.jenkins-ci.plist
  7. Судо launchctl нагрузка - w /Library/LaunchDaemons/org.jenkins-ci.plist
  8. запустите java-команду выше, если дженкинс все еще не начал следить за тем, чтобы процесс не умер.
  9. проверить на наличие каких-либо журналов или ошибок в/var/logs/Jenkins/jenkis.log
+0

он просто хочет настроить mac как подчиненный. что не требует установки jenkins master на него –

+0

да, это не так актуально. –

1

Только что закончил настройку моего мини-раба Mac для доступа к SSH. Много старых учебников и тех, у кого нет лишней информации. Мне пришлось перезагрузить мой мини, чтобы начать заново, и на этот раз это сработало.

Выражаясь быстро (все это через терминал/командной строки, не Ubuntu ничего):

  1. Создать SSH закрытые и открытые ключи с ssh-keygen. В моем случае ключи были предоставлены мне с -C "name", но не с парольной фразой и с именами файлов id_rsa и id_rsa.pub. Храните закрытый (не .pub) ключ, который будет использоваться учетными данными Jenkins позже и для целей тестирования, в то время как проверка работы работает на ssh-соединение без необходимости перезапуска агента Jenkins, закрытый ключ должен храниться в каталоге /Users/<username>/.ssh и доступное для чтения разрешение и право собственности на пользователь локального тестового хоста, если это, как я проверяю его

  2. mkdir .ssh в удаленном Mac Mini рабыни /User/jenkins/ каталог

  3. на Mac мини убедитесь, владелец .ssh директории и любые подкаталоги или файлы Дженкинс и НЕ корень (sudo chown ...).

  4. удостоверяются, что разрешения .ssh и любые вспомогательные файлы или файлы считаются и могут быть записаны (если вы не установили правильное владение, чтобы изменить разрешения, вам необходимо будет использовать sudo. Если вы используете sudo для установите разрешения, вы неправильно установили право собственности на пользователя jenkins)

  5. Разрешить удаленный вход в настройки Mac mini - IP -> DHCP с ручным или полностью ручным

  6. на терминале тестового хоста/локального компьютера (не Mac mini) и в командной строке ssh [email protected], чтобы убедиться, что вы можете ssh в удаленном Mac mini с аутентификацией пароля. Вы можете получить запрос на новый хост (на удаленном IP-адресе Mac mini).

  7. затем выйти из системы и в локальной машине использовать ssh-copy-id -i скопировать содержимое id_rsa.pub (ли его в .ssh или где), чтобы authorized_keys нашел here.

  8. это будет автоматически генерировать authorized_keys файл в директории .ssh

  9. убеждаться что authorized_keys файл также надлежащего разрешения

  10. в Дженкинс управления узлами. Создайте новый узел. Добавьте учетные данные и сделайте это имя пользователя ssh с помощью закрытого ключа. Имя пользователя: jenkins. Закрытый ключ: введите напрямую. Строка должна быть скопирована из локального личного ключа машинного теста (pbcopy<~/.ssh/id_rsa), включая ==== begin и end private key ======, а затем сохранить.

  11. Затем в конфигурации нового узла нет необходимости в инструментах. Удаленный корневой каталог: /Users/jenkins. Хост: статический IP-адрес Mac mini. Стратегия проверки ключа хоста: стратегия проверки доверенных ключей вручную.Проверьте, требуется ли ручная проверка первоначального подключения

  12. при первой попытке подключения, если у вас нет настройки и запуска JDK, сделайте это. Я загрузил Java 8 Stack Exchange Development Kit, и как только я подтвердил, что он был установлен на Mac mini с javac-версией и java-версией, я снова запустил агент и не обнаружил никаких проблем.

Моих ошибок от чтения старых учебников были:

пытается устранить необходимость для паролей в /etc/ssh/sshd_config. Это было совершенно необязательно Кроме того, я, возможно, не обратил внимание на владельца и/или прикрутил разрешения .ssh, .ssh/authorized_keys & .ssh/id_rsa в удаленной и моей локальной машине.

Первоначально я удалил ===== Begin private key и ======End private key, когда я вручную ввел закрытый ключ при создании учетных данных в jenkins. Они должны быть включены. Файл id_rsa должен быть оставлен как есть.

Смежные вопросы