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:

  1. descargue el paquete macosx para jenkins (LTS)
  2. configurar plugins etc y git
  3. 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?

Author: Community, 2011-07-14

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.

 24
Author: Sagar,
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.

INICIAR PARCHE
--- 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
 35
Author: Peter Tran,
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.

 10
Author: commanda,
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

 9
Author: sti,
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.

 -1
Author: sharp,
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