[![Agile611](https://www.agile611.com/wp-content/uploads/2020/09/cropped-logo-header.png)](http://www.agile611.com/) # Formació Jenkins CI/CD d'Agile611 Aquest repositori ofereix scripts i una configuració mínima per aixecar un entorn de Jenkins de prova local usant Vagrant. **Objectiu:** Proporcionar un punt de partida senzill per provar Jenkins (i opcionalment SonarQube) en entorns locals i educatius de CI. **Requisits:** - macOS, Linux o Windows amb compatibilitat per a Docker o Vagrant - Permisos d'execució per als scripts (`chmod +x *.sh`) - **git**: Necessari per clonar el repositori - **Vagrant**: Aquest repositori utilitza una caixa Vagrant basada en Ubuntu i es farà servir APT. - **Virtualbox**: És el motor per virtualitzar l'entorn. **Estructura del repositori:** - `docker.sh` — script per arrancar serveis amb Docker - `jenkins.sh` — script d'ajuda per gestionar Jenkins (arrancar, aturar, accedir) - `sonarqube.sh` — script per arrancar SonarQube (opcional) - `Vagrantfile` — definició per crear una VM amb Vagrant que instal·la Jenkins **Inici ràpid (Vagrant)** 1) Instal·la Vagrant i VirtualBox. 2) Inicia la VM definida al `Vagrantfile`: ```bash vagrant up vagrant ssh jenkins # dins de la VM, segueix les instruccions del Vagrantfile o dels scripts ``` **Descripció breu dels scripts:** - `docker.sh`: crea i gestiona contenidors (Jenkins, possiblement SonarQube u altres serveis). Revisa el seu contingut per ajustar ports i volums. - `jenkins.sh`: utilitats per obtenir la URL d'accés, l'usuari inicial i els secrets. - `sonarqube.sh`: arranca SonarQube en mode desenvolupament per a escanejats locals. - `Vagrantfile`: configura una màquina virtual amb una instal·lació mínima per executar Jenkins sense Docker. **Ports per defecte (configurables):** - Jenkins: 8080 - SonarQube: 9000 ## Resolució de problemes - Si un port està ocupat, modifica la configuració del script o allibera el port. - Comprova permisos: `chmod +x *.sh`. - Revisa registres dels contenidors amb `docker logs ` o entra amb `vagrant ssh` i consulta els registres dins de la VM. ## Contribuir - Obri un issue per proposar millores o reportar bugs. - Fes fork i envia pull requests amb canvis petits i ben documentats. ## Solució de problemes Si trobes problemes en aprovisionar la caixa, pots descarregar-la directament i afegir-la a Vagrant. ## Problemes comuns de xarxa Si tens proxies o VPNs actius al teu equip, és possible que Vagrant no pugui aprovisionar l'entorn. Comprova la teva connectivitat prèviament. ## Llicència Aquest projecte està publicat sota la llicència MIT. Modifica segons les teves necessitats. Aquest tutorial ha estat publicat per [Agile611](http://www.agile611.com/) sota la llicència Creative Commons Atribució-NoComercial 4.0 Internacional. [![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC_BY--NC_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc/4.0/) Aquest `README` va ser originalment escrit per [Guillem Hernández Sola](https://www.linkedin.com/in/guillemhs/) i també es publica en el domini públic. Contacta amb Agile611 per més detalls. - [Agile611](http://www.agile611.com/) - Laureà Miró 309 - 08950 Esplugues de Llobregat (Barcelona)