Cómo ejecutar jenkins como un usuario diferente
He estado tratando de seguir tutoriales y este: Implementar como Usuario Jenkins o Permitir que Jenkins Se Ejecute Como Usuario Diferente?
Pero todavía no puedo por el amor de los dioses de la computación, 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 no se puede clonar 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, así 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 personas ni siquiera tiene un enlace crear usuario, así que sí, he estado atascado. Ayuda por favor?
5 answers
CUESTIÓN 1:
Started by user anonymous
Que no significa que Jenkins comenzó como un usuario anónimo.
Solo significa que la persona que inició la compilación no ha iniciado sesión. Si habilita la seguridad de Jenkins, puede crear nombres de usuario para las personas y cuando inicien sesión, el
"Started by anonymous"
Cambiará a
"Started by < username >".
Nota: No es necesario 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
.
CUESTIÓN 2:
El error "no se puede clonar" es un problema completamente diferente. No tiene nada que ver con que inicie sesión en Jenkins o habilite la seguridad. Solo significa que Jenkins no tiene las credenciales para clonar desde tu git SCM.
Echa un vistazo a el plugin Git de Jenkins para ver cómo configurar Jenkins para que funcione con tu repositorio git.
Espero que eso ayude.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-17 14:48:55
La respuesta "Issue 2" dada por @Sagar funciona para la mayoría de servidores git como gitorious.
Sin embargo, habrá un choque de nombres en un sistema como gitolite donde las claves públicas ssh se comprueban como archivos nombrados con el nombre de usuario, es decir, keydir/jenkins.pub
. ¿Qué pasa si hay varios servidores jenkins que necesitan acceder al mismo servidor gitolite?
(Nota: se trata de ejecutar el demonio Jenkins sin ejecutar un trabajo de compilación como usuario (abordado por el "Problema" de @Sagar 1").)
Así que en este caso necesitas ejecutar el demonio 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
Reinicia jenkins
sudo service jenkins restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-19 13:23:06
En Mac OS X, la forma en que habilité a Jenkins para extraer de mi repositorio (privado) de Github es:
Primero, asegúrese de que su usuario posee el directorio 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 el nombre de grupo y el nombre de usuario:
<key>GroupName</key>
<string>me</string>
...
<key>UserName</key>
<string>me</string>
Luego vuelve a cargar Jenkins:
sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
Entonces Jenkins, ya que se está ejecutando como usted, tiene acceso a su~/.directorio ssh que tiene sus claves.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-11 02:25:28
Si realmente quieres ejecutar Jenkins como tú, te sugiero que eches un vistazo a mi Jenkins.app. Una forma alternativa y fácil de ejecutar Jenkins en Mac.
Véase https://github.com/stisti/jenkins-app /
Descárgalo desde https://github.com/stisti/jenkins-app/downloads
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-22 22:42:16
También se puede integrar a LDAP o AD. Funciona bien.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-23 23:07:27