- Prérequis : Installer l'outil CLI Azure. Pour ce faire, consultez la documentation officielle.
- Vérifiez l'installation en exécutant :
az --version
-
On se connecte au compte Azure en exécutant : az login
-
Remarque : Une fenêtre de navigateur s’ouvrira pour l'authentification.
-
On peut vérifier que le compte est correctement configuré :
az account show
-
Accédez au dossier Terraform ( voir fichier main.tf):
-
Initialiser Terraform :
terraform init
- Visualisez les modifications à apporter aux ressources Azure avec :
terraform plan
- Appliquez les modifications pour créer les ressources dans Azure :
terraform apply
mkdir Jenkins-Projet
cd Jenkins-Projet
- Pour installer Jenkins :
- Exécutez
docker-compose up -d
pour démarrer les services. - Builder l'image de Jenkins si nécessaire, puis redémarrez avec
docker-compose up -d
.
- Exécutez
mkdir Sonarqube
cd Sonarqube
- Pour installer SonarQube :
- Exécutez
docker-compose up -d
pour démarrer les services.
- Exécutez
- Installez les plugins nécessaires :
- SSH2
- Docker
- SonarQube
- Accédez aux Tools dans Jenkins pour configurer SonarQube :
- Générer un token depuis SonarQube et créer un projet.
- Intégrer SonarQube dans la section Système de Jenkins :
- Ajoutez l'URL de SonarQube et le token généré.
- Configurez Docker dans la section Tools de Jenkins.
- Intégrez Docker dans la section Système de Jenkins.
- Créez un nouveau job dans Jenkins en sélectionnant un Item.
- Récupérez l’URL du dépôt GitHub et configurez le pipeline :
- Ajoutez l'URL du dépôt GitHub et les identifiants de connexion.
Ajoutez la configuration SonarQube avec le project key généré.
- Configurez un Remote Shell pour effectuer un
git clone
depuis votre serveur Docker.
- Configurez une deuxième commande pour builder l'image Docker.
- Ajoutez un Webhook sur GitHub :
- L'URL sera sous la forme :
http://<jenkins_server>/github-webhook/
- L'URL sera sous la forme :
- Le dossier
App
contient les fichiers pour tester le pipeline. - Ignorez le dossier
sonar-jenkins
.
- On peut maintenant démarrer votre job dans Jenkins !