Как запустить jenkins в качестве другого пользователя
Я пытаюсь следовать учебным пособиям, и это: Развернуть как пользователь Jenkins или разрешить Jenkins запускать как другой пользователь?
но я все еще не могу любить компьютерных богов, работать как другой пользователь. Вот шаги, которые я сделал:
- загрузить macosx pkg для jenkins (LTS)
- установочные плагины и т.д. и git
- попытайтесь создать его.
Я продолжаю получать ошибку can not clone, потому что jenkins продолжает работать как анонимный:
Started by user anonymous
Как настроить его так, чтобы jenkins работал как я? Я использовал веб-интерфейс jenkins web, поэтому он был в localhost: 8080
Я попытался войти в систему, используя /login, но я даже не могу войти в систему, используя мое имя или как root.
На вкладке "Люди" даже нет ссылки на создание пользователя, поэтому да, я застрял. Помогите пожалуйста?
Ответы
Ответ 1
ВЫПУСК 1:
Started by user anonymous
То, что не означает, означает, что Дженкинс начал как анонимный пользователь.
Это просто означает, что человек, который запустил сборку, не был зарегистрирован. Если вы включите защиту Jenkins, вы можете создавать имена пользователей для людей и при входе в систему
"Started by anonymous"
изменится на
"Started by < username >".
Примечание. Вам не нужно включать защиту, чтобы запускать jenkins или клонировать правильно.
Если вы хотите включить защиту и создать пользователей, вы должны увидеть параметры в Manage Jenkins > Configure System
.
ВЫПУСК 2:
Ошибка "can not clone" - это совсем другая проблема. Это не имеет никакого отношения к тому, что вы входите в jenkins или обеспечиваете безопасность. Это просто означает, что у Jenkins нет учетных данных для клонирования с вашего git SCM.
Просмотрите Jenkins git Plugin, чтобы узнать, как настроить Jenkins для работы с вашим репозитором git.
Надеюсь, что это поможет.
Ответ 2
Ответ "Проблема 2", данный @Sagar, работает для большинства серверов git, таких как gitorious.
Однако в системе, подобной gitolite, будет столкновение имен, в котором общедоступные ключи ssh будут отмечены как файлы с именем пользователя, то есть keydir/jenkins.pub
. Что делать, если есть несколько серверов jenkins, которым необходим доступ к одному и тому же серверу gitolite?
(Примечание: речь идет о запуске демона Дженкинса, который не запускает задание сборки как пользователя (адресуется @Sagar "Проблема 1" ).
Итак, в этом случае вам нужно запустить демон Jenkins в качестве другого пользователя.
Есть два шага:
Шаг 1
Главное - обновить переменную среды JENKINS_USER
. Здесь патч показывает, как изменить пользователя на ptran
.
НАЧАТЬ ПУТЬ
--- etc/default/jenkins.old 2011-10-28 17:46:54.410305099 -0700
+++ etc/default/jenkins 2011-10-28 17:47:01.670369300 -0700
@@ -13,7 +13,7 @@
PIDFILE=/var/run/jenkins/jenkins.pid
# user id to be invoked as (otherwise will run as root; not wise!)
-JENKINS_USER=jenkins
+JENKINS_USER=ptran
# location of the jenkins war file
JENKINS_WAR=/usr/share/jenkins/jenkins.war
--- etc/init.d/jenkins.old 2011-10-28 17:47:20.878539172 -0700
+++ etc/init.d/jenkins 2011-10-28 17:47:47.510774714 -0700
@@ -23,7 +23,7 @@
#DAEMON=$JENKINS_SH
DAEMON=/usr/bin/daemon
-DAEMON_ARGS="--name=$NAME --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG - -pidfile=$PIDFILE"
+DAEMON_ARGS="--name=$JENKINS_USER --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG --pidfile=$PIDFILE"
SU=/bin/su
END PATCH
Шаг 2
Обновить права собственности на каталоги jenkins:
chown -R ptran /var/log/jenkins
chown -R ptran /var/lib/jenkins
chown -R ptran /var/run/jenkins
chown -R ptran /var/cache/jenkins
Шаг 3
Перезапустите jenkins
sudo service jenkins restart
Ответ 3
В Mac OS X способ, которым я разрешил Дженкинсу вытащить из моего (частного) репозитория Github, является:
Во-первых, убедитесь, что ваш пользователь имеет каталог Jenkins
sudo chown -R me:me /Users/Shared/Jenkins
Затем отредактируйте Plunch LaunchDaemon для Jenkins (в/Library/LaunchDaemons/org.jenkins-ci.plist), чтобы ваш пользователь был именем GroupName и UserName:
<key>GroupName</key>
<string>me</string>
...
<key>UserName</key>
<string>me</string>
Затем перезагрузите Дженкинса:
sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
Затем Jenkins, так как он работает как вы, имеет доступ к вашему директорию ~/.ssh с вашими ключами.
Ответ 4
Если вы действительно хотите запустить Дженкинса, как вы, я предлагаю вам проверить мой Jenkins.app. Альтернативный, простой способ запустить Jenkins на Mac.
См. https://github.com/stisti/jenkins-app/
Загрузите его из https://github.com/stisti/jenkins-app/downloads
Ответ 5
Ответ комманды помог мне в этом вопросе. Как только я сменил владельца папки jenkins и изменил файл .plist для jenkins, все заработало.
Ответ 6
вы можете интегрироваться в LDAP или AD. Он работает хорошо.