withcredentials usage plugin jenkins

usage - jenkins pipeline



Ruta de raĆ­z del sitio web de Jenkins (10)

Estoy intentando seguir las instrucciones aquí: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache para configurar mi servidor Jenkins para que aparezca en http://myhost/jenkins . Funciona, pero el sitio web de Jenkins cree que http://myhost/ es jenkins / root.

Creo que este problema es causado por la primera bandera de advertencia en esa página web, es decir, que mi ruta de contexto no está configurada correctamente. Sin embargo, no puedo averiguar dónde establecer la ruta de contexto. Las instrucciones para ubuntu y windows son lo suficientemente claras, pero en Mac OS X 10.6, no hay ningún archivo jenkins.xml, ningún archivo / etc / default / jenkins, y nada relevante que pueda ver en ~ / .jenkins / config.xml .

Entonces, ¿qué me estoy perdiendo? ¿Dónde puedo decirle a Jenkins que su raíz está en / jenkins / en lugar de /?


  1. Agregue el atributo de prefijo al archivo / etc / default / jenkins:

    JENKINS_ARGS = "- webroot = / var / cache / jenkins / war --prefix = / jenkins --httpPort = $ HTTP_PORT --ajp13Port = $ AJP_PORT

  2. Configure su servidor web (p. Ej., Nginx) para redirigir /jenkins a localhost:8080;


Así es como lo arreglé en Debian Wheezy con Jenkin 1.557

  • en / etc / default / jenkins, modifique la línea JENKINS_ARGS agregando "--prefix = $ PREFIX"

    JENKINS_ARGS = "..... --prefix = $ PREFIX"


Estoy usando CentOS7, agrego JENKINS_ARGS="--prefix=/jenkins" a /etc/sysconfig/jenkins y reinicio Jenkins funcionó. Entonces puedes visitarlo a través de ip:8080/jenkins


Necesitaba configurar Jenkins en una caja de CentOS a través de Puppet usando el módulo rtyler/jenkins . Mirar a través del código del módulo podría sugerir que HTTP_PORT y PREFIX deberían ser los parámetros en config_hash, pero esto no funcionó para mí. Lo que funcionó para mí fue algo así como la siguiente configuración de Puppet:

class { ''jenkins'': config_hash => { ''JENKINS_PORT'' => { ''value'' => ''8085'' }, ''JENKINS_ARGS'' => { ''value'' => ''--prefix=/jenkins'' }, }, }

Pude confirmar que esto actualizó el contenido de " / etc / sysconfig / jenkins " (creo que esta es la ubicación del archivo CentOS / RedHat).


No estoy seguro de dónde buscar en config.xml, pero en http://myhost/jenkins/configure , hay una opción llamada "Jenkins URL" que puede usar para configurarlo.


No estoy seguro si la gente todavía está buscando esto, pero como lo encontré, pensé en publicar mi solución aquí.

Al seguir las instrucciones here , pude establecer el contexto ubicado en Library/Preferences/org.jenkins-ci.plist en una dirección más preferible. El enlace tiene todas las configuraciones que puede editar con una instalación nativa de OS X.


Parafraseando del documento que mencionaste;

Debe especificar el contexto / prefijo de la instancia de Jenkins, esto se puede hacer modificando la configuración de Jenkins de la siguiente manera; O bien, establezca la ruta del contexto modificando el archivo de configuración jenkins.xml y agregando --prefix = / jenkins (o similar) a la entrada. O bien, establezca la ruta de contexto al usar agregando --prefix = / jenkins a JENKINS_ARGS en / etc / default / jenkins (Ubuntu) o en un archivo de inicio apropiado.

Entonces, cómo encontrar estas cosas ...

El archivo Jenkins.xml debe estar en el directorio $ JENKINS_HOME, no estoy seguro de si Mac OS tiene los comandos "updatedb" y "locate", pero podrías intentar hacerlo updatedb && locate jenkins.xml

Además, eche un vistazo a los scripts de inicio; /etc/init.d si está instalado desde un paquete, o agregue JENKINS_ARGS a las propiedades del entorno para el usuario que ejecuta Jenkins (anexar a ~user/.profile ) o los argumentos para el contenedor que ejecuta Jenkins.

Tenga en cuenta que si su instalación de Jenkins (sin el argumento de prefix ) se ejecuta bajo:

http://myserver:8080/ => 200 Jenkins is here

agregar --prefix=/ci/dashboard en los argumentos producirá este comportamiento:

http://myserver:8080/ => 404 http://myserver:8080/ci/dashboard => 200 Jenkins is now here


Pon esto en /etc/apache2/other/jenkins.conf:

ProxyPass /jenkins http://localhost:8009/jenkins ProxyPassReverse /jenkins http://localhost:8009/jenkins ProxyRequests Off <Proxy http://localhost:8009/jenkins*> Order deny,allow Allow from 127.0.0.1 </Proxy>

Luego ejecuta estos comandos:

sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 8009 sudo defaults write /Library/Preferences/org.jenkins-ci prefix /jenkins sudo launchctl stop org.jenkins-ci

El último comando le dice a launchd que detenga la instancia en ejecución de Jenkins. Y uno nuevo se iniciará automáticamente porque el lanzamiento se ha configurado para mantener siempre a Jenkins en funcionamiento.


Solo para proporcionar una confirmación reciente de los enfoques sugeridos, en CentOS 7, con Jenkins 1.610, pude lograr esto cambiando jenkinsUrl en jenkins.model.JenkinsLocationConfiguration.xml por el deseado (por ejemplo, http://127.0.0.1:8080/jenkins ), agregando

JENKINS_ARGS="--prefix=/jenkins"

dentro de / etc / sysconfig / jenkins , y reiniciando Jenkins.

Para su información, la instalación de Jenkins se realizó a través de Puppet, utilizando este módulo Puppet .


necesita editar el archivo de configuración de jenkins en el directorio como: sudo vi / etc / default / jenkins y cambiar var HTTP_PORT reiniciar jenkins sudo /etc/init.d/jenkins restart

Espero que esto sea útil