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 /?
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
Configure su servidor web (p. Ej., Nginx) para redirigir
/jenkins
alocalhost: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