16

Click here to load reader

Intégration continue et déploiement continue avec Jenkins

Embed Size (px)

Citation preview

Page 1: Intégration continue et déploiement continue avec Jenkins

Intégration continue et déploiement continue avec Jenkins

par James Kokou GAGLODevOps @peopleinput

Avril 2017

Page 2: Intégration continue et déploiement continue avec Jenkins

Flow

Dépôt Git Jenkins Serveur de TestPushWebhook Déploiement

Intégration continue (CI) Déploiement continu (CD)

Page 3: Intégration continue et déploiement continue avec Jenkins

Configuration de Jenkins : Plugins

● Maven integration

Page 4: Intégration continue et déploiement continue avec Jenkins

Configuration de Jenkins : Maven

Page 5: Intégration continue et déploiement continue avec Jenkins

Jenkins: Créer un projet de type Multibranch Pipeline

Page 6: Intégration continue et déploiement continue avec Jenkins

Jenkins: Configuration du projet

Page 7: Intégration continue et déploiement continue avec Jenkins

Jenkins: Intégration continue

Objectif :

● Vérification et optimisation du code.● Compilation du code● Packaging de l’application pour l’envoyer dans un dépôt (nexus,

image docker, ..)● Exécution des tests unitaires , fonctionnels● ….

Page 8: Intégration continue et déploiement continue avec Jenkins

Jenkins: Intégration continue

Jenkinsfile

Page 9: Intégration continue et déploiement continue avec Jenkins

Jenkins: Déploiement continue

Objectif :

● Visibilité par rapport au statut du projet● Réduire le time-to-market● ….

Page 10: Intégration continue et déploiement continue avec Jenkins

Jenkins: Déploiement continue

Page 11: Intégration continue et déploiement continue avec Jenkins

Jenkins: Jenkinsfile

Page 12: Intégration continue et déploiement continue avec Jenkins

Jenkins: Build

Page 13: Intégration continue et déploiement continue avec Jenkins

Supervisor: Mybatis app

Page 14: Intégration continue et déploiement continue avec Jenkins

Environnement de tests:

Dockerfile : https://github.com/freemanpolys/spring-boot-labs/tree/master/jenkins-ci-cd

● Jenkins : instance ubuntu docker avec Java8 et Ansible (Exposer le port 8080)● Serveur de déploiement : instance ubuntu docker avec Java8 et Supervisor (Exposer les

port 8080 et 9001)

Page 15: Intégration continue et déploiement continue avec Jenkins

Code source

https://github.com/freemanpolys/spring-boot-labs