Version 1.0, Mayo-2021. Joaquín Cañadas <jjcanada@ual.es>

Recopilación de trucos, pasos útiles de instalación, configuración, y ejemplos de Jenkins.

1. Configuración de más de una versión de JDK en Jenkins (en Docker)

1.1. Configuración de JDK

Normalmente, no es necesario configurar ningún JDK, ya que Jenkins toma de forma predeterminada la versión de JDK que haya instalada en el Sistema, en nuestro caso, JDK 1.8. Sin embargo, se pueden configurar más versiones de JDK en la configuración de Jenkins, en concreto: Administrar Jenkins > Global Tool Configuration > JDK Installations.

Dependiendo de las instalaciones que tengas configuradas en tu Jenkins, podrá ocurrir una de la siguientes situaciones:

  • en caso de que no tengas ninguna instalación configurada en JDK Installations, Jenkins usará la versión de JDK que haya instalada en el Sistema en todos los proyectos.

  • en caso de que tengas configurado un JDK, Jenkins lo usará en todos los proyectos.

  • en caso de que tengas configuradas más de una versión de JDK, Jenkins permitirá elegir en cada proyecto la versión de JDK que quieres usar, pudiendo seleccionar una entre System y las dos o más JDKs configuradas.

1.2. Configurar Java 11

Necesitarás Java 11 en los proyectos donde así esté configurado en el pom.xml:

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.compiler.release>11</maven.compiler.release> (1)
  </properties>
1 Versión de Java que usará para construir el proyecto. Similar para Java 13, 15, 16…​.
jenkins tip instalar jdk11

En el proyecto, dejar el label en blanco.

El uso de Java 11 se puede comprobar en la salida por consola:

[maven-basic] $ /var/jenkins_home/tools/hudson.model.JDK/java11/jdk-11/bin/java -cp /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-agent-1.13.jar:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Default_Maven/boot/plexus-classworlds-2.6.0.jar:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Default_Maven/conf/logging jenkins.maven3.agent.Maven35Main /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Default_Maven /var/jenkins_home/war/WEB-INF/lib/remoting-4.6.jar /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-interceptor-1.13.jar /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.13.jar 43603
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven:  -B -f /var/jenkins_home/workspace/sonar-scanning-examples-maven-basic/sonarqube-scanner-maven/maven-basic/pom.xml clean verify sonar:sonar
[INFO] Scanning for projects...

2. Jenkins como contenedor Docker

Proximamente…​

3. Jenkins en Kubernetes

Proximamente…​

4. Construcción de contenedores Docker en Jenkins

4.1. Docker in Docker

Proximamente…​