2012-01-18 14 views
17

Tengo Jenkins instalado en Linux y quiero ejecutar las compilaciones bajo un usuario.Ejecutar trabajos de Jenkins en Linux bajo un usuario

No es solo un usuario simple, sino que pertenece a la lista de usuarios que accede a la máquina Linux y pertenece a un grupo determinado, ya que tiene privilegios para modificar/crear archivos en una carpeta determinada.

He leído en alguna parte que puede establecer la variable $ JENKINS_USER pero no sé dónde y cómo. Gracias por su tiempo

P.S. Hice algunas investigaciones todas las preguntas publicadas son similares pero no las mismas que esta

Por favor, si no estoy seguro, lee esto: Normalmente Jenkins ejecuta la compilación utilizando un usuario llamado jenkins, ahora quiero poder usar un usuario diferente (preexistente).

Respuesta

4

Eche un vistazo al plugin Variable de entorno Started-By.

https://wiki.jenkins-ci.org/display/JENKINS/Started-By+Environment+Variable+Plugin

EDIT:

Si se acaba preguntando cómo configurar Jenkins para funcionar bajo un usuario diferente en Linux que depende de lo que lo ha instalado. Nunca configuré Jenkins en Linux (pero puedo usar Google). Eche un vistazo a https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins para obtener diferentes opciones de configuración. Eché un vistazo al Installing Jenkins as a Unix daemon y en el paso 7 necesita configurar un archivo de configuración. Cambie la última línea en ese archivo (RUN_AS_USER=jenkins) para contener el usuario de su elección.

+0

Estoy echando un vistazo, pero eso estableció una variable de entorno para el nombre del usuario que comenzó la compilación, como en jenkins el usuario jenkins ejecuta la compilación y toda esa porquería, me gustaría configurar que lo haga otro usuario – 7dr3am7

+0

Después de tener el nombre de usuario, puede ejecutar scripts con 'su' (unix/linux) o runas (windows). --- Después de leer su pregunta nuevamente, me pregunto si solo desea ejecutar Jenkins con una cuenta de usuario diferente y no solo con algunos trabajos. –

+0

Hola Peter, estaba leyendo la guía Unix Deamon vi el archivo de configuración y el guión, tal vez debería hacerlo de esa manera. Creo que capturas exactamente lo que quiero ... ejecutas a Jenkins con una cuenta de usuario diferente, ¿es posible? en caso afirmativo, cómo :(:(? – 7dr3am7

5

Sí, es necesario establecer la variable JENKINS_USER, pero en otro archivo.

mira aquí http://blog.manula.org/2013/03/running-jenkins-under-different-user-in.html

+1

buen blog. funciona como un sueño :) – cjcroix

+0

No ejecute jenkins como root si su encuentro tiene problemas de derechos en los archivos al ejecutar trabajos. Sabes, en el fondo, está mal. Pero parece tan rápido hecho así. NO. Dont. – bohr

+0

@yfhrpcx ¿Qué alternativa hay, entonces, si necesito que Jenkins haga las cosas que yo haría como usuario raíz? – Amalgovinus

0

No hay nada sólo el usuario root puede hacer que no se puede hacer de una manera adecuada, mediante la creación de un usuario dedicado para su tarea con los derechos adecuados en los archivos binarios o interesadas. Dé un ejemplo de la tarea que desea hacer como raíz si necesita un ejemplo más preciso.

+0

Bueno, después de 5 años, se me ocurrió la solución (ver arriba) en la organización entonces funcionó porque teníamos un usuario específico para trabajos de jenkins. Los trabajos de Jenkins eran principalmente para SCM, dicho usuario tenía los roles correctos y las credenciales para llevar a cabo cada trabajo. – 7dr3am7

+0

Oh oups, se suponía que esta respuesta era la respuesta del comentario de @Amalgovinus en la publicación anterior. – bohr

Cuestiones relacionadas