Contenido

Cómo instalar Jenkins en Windows

¿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

    • https://adoptium.net/es/temurin/releases

    • 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
      • PATH
        • %JAVA_HOME%\bin
    • 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")
    

Editar Local Security Policies

  • Iniciar Local Security Policies
    • secpol.msc

    • /20220624111228.png
  • En Local Policies, User Rights Assignment
    • Log on as a service

    • /20220624111333.png
  • Add User or Group
    • Agregar el usuario
      • Advanced…, Find Now, Seleccionar, OK
      • Puede ser un usuario de cuenta
      • Puede ser Administrator
  • Apply, OK

Instalar Jenkins

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
    • En cambio, si está ok, windows intentará levantar el servicio, pero, como no es el lugar adecuado para hacerlo, aparecerá un aviso

Iniciar el servicio Jenkins

  • Abrir el app Services
  • Ubicar a Jenkins
  • Click derecho y elegir Start

  • /20220624123346.png

  • /20220624123449.png
  • http://localhost:8080/jenkins/

    • /20220624124158.png
    • 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

    • /20220624124419.png
  • En la pantalla de bienvenida, elegir Install sugested plugins
    /20220624124535.png
  • Ingresar los datos para el usuario administrador
    /20220624141203.png
  • Indicar el url
    /20220624142158.png

  • /20220624142256.png

  • /20220624142332.png

Espero te sirva de ayuda.
¿Has encontrado alguna mejor manera de hacerlo? Puedes compartirlo en los comentarios 🙏