continuous-integration - proyecto - nodos jenkins
Cómo ejecutar jenkins como un usuario diferente (5)
He intentado seguir los tutoriales y este: implementar como usuario de Jenkins o permitir que Jenkins se ejecute como un usuario diferente.
pero todavía no puedo por el amor de los dioses informáticos, ejecutar como un usuario diferente. Estos son los pasos de lo que hice:
- Descargue el paquete macosx para jenkins (LTS)
- configurar plugins, etc. y git
- intenta construirlo
Sigo recibiendo un error "can not clone" porque jenkins sigue comenzando como anónimo:
Started by user anonymous
¿Cómo lo configuro para que jenkins corra como yo? Estaba usando la interfaz de usuario web de jenkins, por lo que estaba en localhost: 8080
Intenté iniciar sesión también usando / login pero ni siquiera puedo iniciar sesión usando mi nombre o como root.
La pestaña de personas ni siquiera tiene un enlace para crear un usuario, así que sí, me he quedado atrapado. ¿Ayuda por favor?
En Mac OS X, la forma en que habilité a Jenkins para sacar de mi repo de Github (privado) es:
Primero, asegúrese de que su usuario sea el propietario del directorio de Jenkins
sudo chown -R me:me /Users/Shared/Jenkins
Luego edite el plist de LaunchDaemon para Jenkins (en /Library/LaunchDaemons/org.jenkins-ci.plist) para que su usuario sea GroupName y UserName:
<key>GroupName</key>
<string>me</string>
...
<key>UserName</key>
<string>me</string>
Luego recarga Jenkins:
sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
Entonces Jenkins, dado que se ejecuta como usted, tiene acceso a su directorio ~ / .ssh que tiene sus claves.
La respuesta "Emisión 2" dada por @Sagar funciona para la mayoría de los servidores de git como Gitorious.
Sin embargo, habrá un choque de nombres en un sistema como gitolite, donde las claves públicas ssh se registran como archivos nombrados con el nombre de usuario, es decir, keydir/jenkins.pub
. ¿Qué sucede si hay varios servidores jenkins que necesitan acceder al mismo servidor gitolite?
(Nota: se trata de ejecutar el daemon de Jenkins que no ejecuta un trabajo de compilación como usuario (dirigido por @Sagar "Issue 1").)
Entonces, en este caso, necesitas ejecutar el daemon de Jenkins como un usuario diferente.
Hay dos pasos:
Paso 1
Lo principal es actualizar la variable de entorno JENKINS_USER
. Aquí hay un parche que muestra cómo cambiar el usuario a 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
PARCHE FINAL
Paso 2
Actualizar la propiedad de los directorios 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
Paso 3
Reiniciar jenkins
sudo service jenkins restart
Si realmente quieres ejecutar Jenkins como tú, te sugiero que revises mi Jenkins.app. Una forma alternativa y fácil de ejecutar Jenkins en Mac.
Ver https://github.com/stisti/jenkins-app/
Descárguelo de https://github.com/stisti/jenkins-app/downloads
usted puede integrarse a LDAP o AD también. Funciona bien.
NÚMERO 1:
Started by user anonymous
Eso no significa que Jenkins comenzó como un usuario anónimo.
Simplemente significa que la persona que inició la compilación no inició sesión. Si habilita la seguridad de Jenkins, puede crear nombres de usuario para las personas y cuando inician sesión, la
"Started by anonymous"
cambiará a
"Started by < username >".
Nota: No tiene que habilitar la seguridad para ejecutar jenkins o clonar correctamente.
Si desea habilitar la seguridad y crear usuarios, debería ver las opciones en Manage Jenkins > Configure System
.
NÚMERO 2:
El error "no se puede clonar" es un problema diferente por completo. No tiene nada que ver con que inicies sesión en jenkins o habilites la seguridad. Simplemente significa que Jenkins no tiene las credenciales para clonar desde su git SCM.
Consulte el plugin Jenkins Git para ver cómo configurar Jenkins para trabajar con su repositorio git.
Espero que ayude.