Cómo instalar Jenkins en Windows
Contenido
¿Quieres instalar este poderoso servidor de automatizaciones en una máquina windows? Te cuento el procedimiento que seguí y me funcionó tanto en Windows Server 2019 como en Windows 10 Home Edition (donde hay un parche que hacer previamente).
Referencias
Instalar JDK
- Instalar JDK 11
-
Jenkins requiere JDK 8 ó JDK 11
-
En Windows, System Properties, Environment Variables, System Variables
- JAVA_HOME
C:\java\jdk-11_0_15_10
, por ejemplo- Notar que no tiene el trailing slash (
\
) al final
- Notar que no tiene el trailing slash (
- PATH
%JAVA_HOME%\bin
- JAVA_HOME
-
Verificar en la consola de comandos
java - version
openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment Temurin-11.0.15+10 (build 11.0.15+10) OpenJDK 64-Bit Server VM Temurin-11.0.15+10 (build 11.0.15+10, mixed mode)
-
Tener un usuario con privilegios para iniciar servicios
Nota para Windows 10 Home
-
secpol.msc
no está disponible para Windows 10 Home- El Group Policy existe, pero está deshabilitado por default.
-
Las opciones serían:
- Resignarse a correr Jenkins como LocalSystem
- Habilitar Group Policy, como se indica a continuación
-
Fix Gpedit.msc Not Found In Windows 10/Windows 11
- Abrir
cmd
como administrador y ejecutar estos comandos:
FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F") FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")
- Abrir
Editar Local Security Policies
- Iniciar Local Security Policies
secpol.msc
- En Local Policies, User Rights Assignment
- Log on as a service
- Add User or Group
- Agregar el usuario
- Advanced…, Find Now, Seleccionar, OK
- Puede ser un usuario de cuenta
- Puede ser Administrator
- Advanced…, Find Now, Seleccionar, OK
- Agregar el usuario
- Apply, OK
Instalar Jenkins
- Usando
jenkins.msi
- Indicar dónde se instalará
- Indicar qué usuario iniciará el servicio (caso fallido)
- Este error aparece cuando el usuario no tiene privilegios para iniciar servicios
- Indicar qué usuario iniciará el servicio (caso OK)
- Indicar el puerto donde correrá el servicio
- Indicar la ubicación del JDK
- Cambiar la opción Start Service a deshabilitada. Se habilitará luego manualmente.
Configuración de inicio
- Modificar el archivo de configuración
jenkins.xml
, del directorio donde se instaló.C:\java\jenkins\jenkins.xml
, por ejemplo
<!-- ... -->
<env name="JENKINS_HOME" value="C:\data\jenkins_home"/>
<!-- ... -->
<executable>%JAVA_HOME%\bin\java.exe</executable>
<!-- ... -->
<arguments>-Xrs -Xms3g -Xmx3g -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=C:\java\jenkins\tmp\ -Dorg.apache.commons.jelly.tags.fmt.timeZone=America/Lima -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\java\jenkins\Jenkins.war" --httpPort=8080 --webroot="C:\java\jenkins\war" --pluginroot="C:\java\jenkins\plugins" --prefix="/jenkins"</arguments>
<!-- ... -->
<pidfile>C:\java\jenkins\jenkins.pid</pidfile>
<!-- ... -->
- Crear las carpetas mencionadas
C:\data\jenkins_home
C:\java\jenkins\tmp\
C:\java\jenkins\war
C:\java\jenkins\plugins
- Para comprobar la validez del archivo de configuración
jenkins.xml
- Abrir la consola en el directorio de jenkins
cd C:\java\jenkins\
, por ejemplo
- Ejecutar
jenkins.exe
- Si hay algún error, éste aparecerá en la consola.
- Es útil para detectar errores de sintaxis en
jenkins.xml
- Es útil para detectar errores de sintaxis en
- En cambio, si está ok, windows intentará levantar el servicio, pero, como no es el lugar adecuado para hacerlo, aparecerá un aviso
- Abrir la consola en el directorio de jenkins
Iniciar el servicio Jenkins
- Abrir el app Services
- Ubicar a Jenkins
- Click derecho y elegir Start
- http://localhost:8080/jenkins/
- En caso de que no se vea nada, revisar los errores que arroja en
C:\java\jenkins\jenkins.err.log
, corregir y reiniciar el servicio.
- Ingresar la clave inicial del administrador en el archivo indicado
C:\data\jenkins_home\secrets\initialAdminPassword
, por ejemplo
- En la pantalla de bienvenida, elegir Install sugested plugins
- Ingresar los datos para el usuario administrador
- Indicar el url
Espero te sirva de ayuda.
¿Has encontrado alguna mejor manera de hacerlo? Puedes compartirlo en los comentarios 🙏