Подтвердить что ты не робот

Как запустить jenkins в качестве другого пользователя

Я пытаюсь следовать учебным пособиям, и это: Развернуть как пользователь Jenkins или разрешить Jenkins запускать как другой пользователь?

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

  • загрузить macosx pkg для jenkins (LTS)
  • установочные плагины и т.д. и git
  • попытайтесь создать его.

Я продолжаю получать ошибку can not clone, потому что jenkins продолжает работать как анонимный:

Started by user anonymous

Как настроить его так, чтобы jenkins работал как я? Я использовал веб-интерфейс jenkins web, поэтому он был в localhost: 8080

Я попытался войти в систему, используя /login, но я даже не могу войти в систему, используя мое имя или как root.

На вкладке "Люди" даже нет ссылки на создание пользователя, поэтому да, я застрял. Помогите пожалуйста?

4b9b3361

Ответ 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 с вашими ключами.

Ответ 5

Ответ комманды помог мне в этом вопросе. Как только я сменил владельца папки jenkins и изменил файл .plist для jenkins, все заработало.

Ответ 6

вы можете интегрироваться в LDAP или AD. Он работает хорошо.