En aquest tema, aprendrem com integrar Jenkins amb diverses eines de compilació per automatitzar el procés de construcció del nostre codi. Les eines de compilació són essencials per compilar, empaquetar i preparar el codi per a la seva distribució o desplegament. Jenkins pot treballar amb una àmplia varietat d'eines de compilació, com Maven, Gradle, Ant, entre d'altres.
Objectius del Tema
- Entendre la importància de les eines de compilació en el procés de desenvolupament.
- Aprendre a configurar Jenkins per treballar amb diferents eines de compilació.
- Crear i executar feines de Jenkins que utilitzin aquestes eines.
Conceptes Clau
- Eines de Compilació: Programes que automatitzen la compilació del codi font en binaris executables.
- Plugins de Jenkins: Extensions que permeten a Jenkins integrar-se amb altres eines i tecnologies.
Eines de Compilació Populars
A continuació, es presenten algunes de les eines de compilació més utilitzades:
Eina de Compilació | Descripció |
---|---|
Maven | Eina de gestió i comprensió de projectes, principalment per a projectes Java. |
Gradle | Eina de construcció flexible que suporta diversos llenguatges de programació. |
Ant | Eina de construcció basada en XML, també per a projectes Java. |
Integració amb Maven
Instal·lació del Plugin de Maven
- Accedeix a Jenkins: Inicia sessió al teu servidor Jenkins.
- Instal·la el Plugin:
- Ves a
Manage Jenkins
>Manage Plugins
. - A la pestanya
Available
, cercaMaven Integration plugin
. - Marca la casella i fes clic a
Install without restart
.
- Ves a
Configuració de Maven a Jenkins
- Configura Maven:
- Ves a
Manage Jenkins
>Global Tool Configuration
. - A la secció
Maven
, fes clic aAdd Maven
. - Proporciona un nom i la ruta d'instal·lació de Maven al teu sistema.
- Ves a
Creació d'una Feina de Jenkins amb Maven
- Crea una Nova Feina:
- Ves a la pàgina principal de Jenkins i fes clic a
New Item
. - Dona un nom a la feina i selecciona
Freestyle project
.
- Ves a la pàgina principal de Jenkins i fes clic a
- Configura la Feina:
- A la secció
Build
, fes clic aAdd build step
i seleccionaInvoke top-level Maven targets
. - Proporciona els objectius de Maven (per exemple,
clean install
).
- A la secció
- Executa la Feina:
- Desa la configuració i fes clic a
Build Now
per executar la feina.
- Desa la configuració i fes clic a
Exemple de Configuració de Feina amb Maven
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
Integració amb Gradle
Instal·lació del Plugin de Gradle
- Accedeix a Jenkins: Inicia sessió al teu servidor Jenkins.
- Instal·la el Plugin:
- Ves a
Manage Jenkins
>Manage Plugins
. - A la pestanya
Available
, cercaGradle Plugin
. - Marca la casella i fes clic a
Install without restart
.
- Ves a
Configuració de Gradle a Jenkins
- Configura Gradle:
- Ves a
Manage Jenkins
>Global Tool Configuration
. - A la secció
Gradle
, fes clic aAdd Gradle
. - Proporciona un nom i la ruta d'instal·lació de Gradle al teu sistema.
- Ves a
Creació d'una Feina de Jenkins amb Gradle
- Crea una Nova Feina:
- Ves a la pàgina principal de Jenkins i fes clic a
New Item
. - Dona un nom a la feina i selecciona
Freestyle project
.
- Ves a la pàgina principal de Jenkins i fes clic a
- Configura la Feina:
- A la secció
Build
, fes clic aAdd build step
i seleccionaInvoke Gradle script
. - Proporciona les tasques de Gradle (per exemple,
clean build
).
- A la secció
- Executa la Feina:
- Desa la configuració i fes clic a
Build Now
per executar la feina.
- Desa la configuració i fes clic a
Exemple de Configuració de Feina amb Gradle
plugins { id 'java' } group 'com.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0' } test { useJUnitPlatform() }
Exercicis Pràctics
Exercici 1: Configuració de Maven
- Instal·la el plugin de Maven a Jenkins.
- Configura Maven a
Global Tool Configuration
. - Crea una feina de Jenkins que executi els objectius
clean install
en un projecte Maven.
Exercici 2: Configuració de Gradle
- Instal·la el plugin de Gradle a Jenkins.
- Configura Gradle a
Global Tool Configuration
. - Crea una feina de Jenkins que executi les tasques
clean build
en un projecte Gradle.
Solucions als Exercicis
Solució a l'Exercici 1
- Instal·lació del Plugin de Maven:
- Ves a
Manage Jenkins
>Manage Plugins
. - Cerca
Maven Integration plugin
i instal·la'l.
- Ves a
- Configuració de Maven:
- Ves a
Manage Jenkins
>Global Tool Configuration
. - Afegeix una nova instal·lació de Maven amb la ruta correcta.
- Ves a
- Creació de la Feina:
- Crea una nova feina
Freestyle project
. - Afegeix un pas de construcció
Invoke top-level Maven targets
amb els objectiusclean install
.
- Crea una nova feina
Solució a l'Exercici 2
- Instal·lació del Plugin de Gradle:
- Ves a
Manage Jenkins
>Manage Plugins
. - Cerca
Gradle Plugin
i instal·la'l.
- Ves a
- Configuració de Gradle:
- Ves a
Manage Jenkins
>Global Tool Configuration
. - Afegeix una nova instal·lació de Gradle amb la ruta correcta.
- Ves a
- Creació de la Feina:
- Crea una nova feina
Freestyle project
. - Afegeix un pas de construcció
Invoke Gradle script
amb les tasquesclean build
.
- Crea una nova feina
Resum
En aquest tema, hem après com integrar Jenkins amb eines de compilació com Maven i Gradle. Hem vist com instal·lar els plugins necessaris, configurar les eines i crear feines de Jenkins per automatitzar el procés de construcció del codi. Aquestes integracions són fonamentals per establir un flux de treball eficient i automatitzat en el desenvolupament de programari.
Jenkins: De Principiant a Avançat
Mòdul 1: Introducció a Jenkins
Mòdul 2: Conceptes Bàsics de Jenkins
- Visió General del Tauler de Jenkins
- Creant i Executant Feines
- Entenent les Pipelines de Jenkins
- Utilitzant Plugins de Jenkins
Mòdul 3: Pipelines de Jenkins
- Pipeline com a Codi
- Pipelines Declaratives vs Scriptades
- Creant una Pipeline Simple
- Sintaxi de Pipeline
Mòdul 4: Pipelines Avançades de Jenkins
- Etapes i Passos de Pipeline
- Execució Paral·lela en Pipelines
- Utilitzant Variables d'Entorn
- Millors Pràctiques de Pipeline
Mòdul 5: Administració de Jenkins
- Gestionant Nodes de Jenkins
- Configurant la Seguretat
- Còpia de Seguretat i Restauració de Jenkins
- Monitorant Jenkins
Mòdul 6: Integrant Jenkins
- Integració amb Sistemes de Control de Versions
- Integració amb Eines de Compilació
- Integració amb Eines de Prova
- Integració amb Eines de Desplegament
Mòdul 7: Jenkins per a la Integració i el Lliurament Continu (CI/CD)
- Entenent CI/CD
- Configurant una Pipeline de CI
- Configurant una Pipeline de CD
- Automatitzant Desplegaments
Mòdul 8: Temes Avançats de Jenkins
- Utilitzant Jenkins amb Docker
- Jenkins i Kubernetes
- Jenkins com a Codi amb Jenkinsfile
- Escalant Jenkins