SlideShare une entreprise Scribd logo
Migrer de Jenkins vers Azure
DevOps les Builds Java
CÉDRIC LEBLOND
@leblond_c
Contexte : migration de +80 repos et +1000 builds
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
Migrer en mode copier/coller
COPIER LES REPOS
COPIER LES BUILDS EN CONSERVANT LES MÊMES
Migration de repos Git
• Importer les repos Git via l’interface
•  facile et rapide,
mais une seule fois, pas d’automatisation
• Utiliser les fonctions de mirroring de Git avec un repo locale
git clone --mirror https://serverTFS/Projet/repo
git set remote dest https://dev.azure.com/orga/projet/repo
git push --mirror
•  permet de synchroniser plusieurs fois, automatisable
•  reste à modifier les configurations de Builds Jenkins
Migrer les builds en répliquant celles de Jenkins
• Copier les actions et paramètres depuis les Jobs Jenkins et les Jenkinsfile (groovy)
Vue d’ensemble de GitFlow
Author: Vincent Driessen
Original blog post:
http://nvie.com/posts/a-succesful-
git-branching-model
License: Creative Commons BY-SA
Migrer les premiers repos
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
Résumé des builds, Ajout de branch policies
• Build de CI : compilation, tests
• Build de déploiement en Dev :
◦ feature-Deploy
◦ nightly-Deploy
• Build liées au GitFlow
◦ feature-start
◦ release-start, release-finish
◦ hotfix-start, hotfix-finish
• Ajout de Policies pour protéger la branche develop:
◦ 2 reviewers minimum
◦ Build CI réussie
◦ Commentaires resolus
Gérer les packages via Azure Artifacts
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
Pousser les packages vers Azure Artifacts
• Azure Artifacts permet de configurer des feeds upstream publics
masi pas de feed upstream privés
•  Seule solution : déployer sur les environnements existants depuis Azure
Artifacts
• Ouvrir le flux réseau des environnements existants vers Azure Artifacts
• Pousser tous les packages Nexus existants vers Azure Artifacts
• Configurer les builds pour pousser vers le feed d’Azure Artifacts
Gotcha! les points à ne pas oublier
• Le nombre de Builds contraint à utiliser des conventions:
◦ Un dossier par répertoire
◦ Nommage uniforme : nomrepo-CI, nomrepo-release-start, …
• Utiliser les groupes de Tasks pour modifier une seule fois (les scripts)
• Utiliser Clone pour créer les builds similaires
• Bien coché la case : autoriser les scripts à utiliser OAuth
• Donner tous les droits nécessaires au compte de build
Project Collection Build Service
◦ Sur les repos : Contribute, create branch, create tag , force push
◦ Sur les feeds : Contribute
• Si l’option « Authenticate built-In maven feed » ne fonctionne pas,
créer les « maven credentials » et les ajouter dans le fichier settings.xml de l’agent
Où en sommes-nous ?
• Equipes ont un retour positifs sur cette mise en place
•  elles retrouvent les mêmes fonctions
peu d’écarts et changements
•  permet les Pull Requests et les revue de code
• Les équipes sont prêtes à essayer sur quelques projets !
Finir de migrer les +80 repos et +1000 builds
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
Migrer en mode full Azure
DevOps
TIRER PARTI DES FONCTIONNALITÉS DE LA PLATEFORME
SUIVRE LES BONNES PRATIQUES DE PIPELINE
Beaucoup de builds lancées manuellement
• Beaucoup sont liées au GitFlow :
◦ feature-start
◦ release-start, release-finish
◦ hotfix-start, hotfix-finish
•  Adoptons une stratégie plus légère : Release Flow
◦ https://docs.microsoft.com/en-us/azure/devops/learn/devops-at-microsoft/release-flow
Build once, deploy many
• Compilation dans plusieurs Builds:
◦ migration-CI
◦ migration-Quality
◦ migration-feature-Deploy
◦ migration-nightly-Deploy
•  Créons une définition de release
◦ Continuuous Deployment
◦ Pull Request deployment
Déployer de la même façon, sur des environnements similaires
•  Passons l’environnement de Dev dans SaltStack
Déployer l’environnement de Dev en Saltstack
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
Pipeline as code
• Dans le cadre de la migration, le désavantage est d’avoir besoin de modifier les
repos
• Permet aussi de modifier une fois les étapes grâce aux templates
Résumé et Suite
CE QUE NOUS A AVONS VU
CE QU’IL RESTE A ACCOMPLIR
Résumé
• Migration des repos Git très facile et transparente
• Création de Builds presque identiques à Jenkins possible
• Remplacement des Jenkinsfile par des fichiers yaml possible
• Remplacement de Nexus par Azure Artifacts possible
La suite ?
• Automatiser la copie d’un répertoire de Builds en changeant le repo cible
• Migrer les 80 repos…
• Migrer complètement vers la plateforme IAAS / IaC
• Fermer l’environnement AWS
Compléter la migration
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
Merci
@leblond_c

Contenu connexe

Tendances

Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
Stephane Manciot
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
Emmanuel Quentin
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
Nicolas Muller
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
ekino
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
Membré Guillaume
 
Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016
Julia Mateo
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Publicis Sapient Engineering
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
TADx
 
Devoxx France : GruntJs In Action
Devoxx France : GruntJs In ActionDevoxx France : GruntJs In Action
Devoxx France : GruntJs In Action
Publicis Sapient Engineering
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
AZUG FR
 
Hermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter MeuelHermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter Meuel
CocoaHeads France
 
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8sKubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
Arnaud MAZIN
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
Web à Québec
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
Membré Guillaume
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Silicon Comté
 
Prise en main de Jhipster
Prise en main de JhipsterPrise en main de Jhipster
Prise en main de Jhipster
Kokou Gaglo
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
Christophe Furmaniak
 
Docker@linuq
Docker@linuqDocker@linuq
Docker@linuq
Sylvain Boily
 

Tendances (19)

Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
 
Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
Devoxx France : GruntJs In Action
Devoxx France : GruntJs In ActionDevoxx France : GruntJs In Action
Devoxx France : GruntJs In Action
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
Hermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter MeuelHermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter Meuel
 
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8sKubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
 
Prise en main de Jhipster
Prise en main de JhipsterPrise en main de Jhipster
Prise en main de Jhipster
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
 
Docker@linuq
Docker@linuqDocker@linuq
Docker@linuq
 

Similaire à Cedric leblond migrer jenkins AWS vers Azure Devops

What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
ZenikaOuest
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
Julien Dubois
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
SUSE
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. Darmont
Zenika
 
Déploiement dans Azure depuis VSTS
Déploiement dans Azure depuis VSTSDéploiement dans Azure depuis VSTS
Déploiement dans Azure depuis VSTS
AZUG FR
 
CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptx
MEDOBEST1
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
Maven
MavenMaven
Universitélang scala tools
Universitélang scala toolsUniversitélang scala tools
Universitélang scala tools
Fabrice Sznajderman
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
ENSET, Université Hassan II Casablanca
 
Présentation1
Présentation1Présentation1
Présentation1
Boulkenafet samir
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
Vincent Biret
 
Devops - Git - VSTS
Devops - Git - VSTSDevops - Git - VSTS
Devops - Git - VSTS
Michel Bruchet
 
VSTS Git
VSTS GitVSTS Git
VSTS Git
Michel Bruchet
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
Microsoft
 
Play Framework
Play FrameworkPlay Framework
Play FrameworkArmaklan
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
Christophe Furmaniak
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
Jaouad Assabbour
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 

Similaire à Cedric leblond migrer jenkins AWS vers Azure Devops (20)

What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. Darmont
 
Déploiement dans Azure depuis VSTS
Déploiement dans Azure depuis VSTSDéploiement dans Azure depuis VSTS
Déploiement dans Azure depuis VSTS
 
CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptx
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Maven
MavenMaven
Maven
 
Universitélang scala tools
Universitélang scala toolsUniversitélang scala tools
Universitélang scala tools
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Présentation1
Présentation1Présentation1
Présentation1
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Devops - Git - VSTS
Devops - Git - VSTSDevops - Git - VSTS
Devops - Git - VSTS
 
VSTS Git
VSTS GitVSTS Git
VSTS Git
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 

Plus de FactoVia

Enjeux industrie et formations
Enjeux industrie et formationsEnjeux industrie et formations
Enjeux industrie et formations
FactoVia
 
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
Industrie 4.0 / usine du futur : retours concrets & faibles coûtsIndustrie 4.0 / usine du futur : retours concrets & faibles coûts
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
FactoVia
 
Decentralised Control of Intelligent Devices: A Healthcare Facility Study
Decentralised Control of Intelligent Devices: A Healthcare Facility Study Decentralised Control of Intelligent Devices: A Healthcare Facility Study
Decentralised Control of Intelligent Devices: A Healthcare Facility Study
FactoVia
 
Viseo presentation Clean Code / Intelligence Artificielle DCOP
Viseo presentation Clean Code / Intelligence Artificielle DCOPViseo presentation Clean Code / Intelligence Artificielle DCOP
Viseo presentation Clean Code / Intelligence Artificielle DCOP
FactoVia
 
Cracking RSA key - Quantum Computing - #GlobalAzure Bootcamp - Louis Charavne...
Cracking RSA key - Quantum Computing - #GlobalAzure Bootcamp - Louis Charavne...Cracking RSA key - Quantum Computing - #GlobalAzure Bootcamp - Louis Charavne...
Cracking RSA key - Quantum Computing - #GlobalAzure Bootcamp - Louis Charavne...
FactoVia
 
Gab2019 Ihor leontiev Vincent Thavonekham ouverture
Gab2019 Ihor leontiev Vincent Thavonekham ouvertureGab2019 Ihor leontiev Vincent Thavonekham ouverture
Gab2019 Ihor leontiev Vincent Thavonekham ouverture
FactoVia
 
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
FactoVia
 
Global Azure Bootcamp 2016 - Lyon - Keynote Opening
Global Azure Bootcamp 2016 - Lyon - Keynote OpeningGlobal Azure Bootcamp 2016 - Lyon - Keynote Opening
Global Azure Bootcamp 2016 - Lyon - Keynote Opening
FactoVia
 
Global Azure Bootcamp 2016 - Lyon : Iot Project Management, IoT Edge with Rea...
Global Azure Bootcamp 2016 - Lyon : Iot Project Management, IoT Edge with Rea...Global Azure Bootcamp 2016 - Lyon : Iot Project Management, IoT Edge with Rea...
Global Azure Bootcamp 2016 - Lyon : Iot Project Management, IoT Edge with Rea...
FactoVia
 
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
FactoVia
 
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
FactoVia
 
Industry4.0 IoT Vincent Thavonekham - Azure Day Ukraine
Industry4.0 IoT Vincent Thavonekham - Azure Day UkraineIndustry4.0 IoT Vincent Thavonekham - Azure Day Ukraine
Industry4.0 IoT Vincent Thavonekham - Azure Day Ukraine
FactoVia
 
Why care about GDPR and avoid over $20 million fines, even outside EU ?
Why care about GDPR and avoid over $20 million fines, even outside EU ?Why care about GDPR and avoid over $20 million fines, even outside EU ?
Why care about GDPR and avoid over $20 million fines, even outside EU ?
FactoVia
 
Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Pres azure   paas tdf -rex-hager-vincent thavonekham-regional director-azug f...Pres azure   paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
FactoVia
 
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projectsMicrosoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
FactoVia
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
FactoVia
 
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
FactoVia
 
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...
FactoVia
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015
FactoVia
 
Slides deck yos-tour_vincentthavonekham_mvp_azure_the_future_of_microsoft_dat...
Slides deck yos-tour_vincentthavonekham_mvp_azure_the_future_of_microsoft_dat...Slides deck yos-tour_vincentthavonekham_mvp_azure_the_future_of_microsoft_dat...
Slides deck yos-tour_vincentthavonekham_mvp_azure_the_future_of_microsoft_dat...
FactoVia
 

Plus de FactoVia (20)

Enjeux industrie et formations
Enjeux industrie et formationsEnjeux industrie et formations
Enjeux industrie et formations
 
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
Industrie 4.0 / usine du futur : retours concrets & faibles coûtsIndustrie 4.0 / usine du futur : retours concrets & faibles coûts
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
 
Decentralised Control of Intelligent Devices: A Healthcare Facility Study
Decentralised Control of Intelligent Devices: A Healthcare Facility Study Decentralised Control of Intelligent Devices: A Healthcare Facility Study
Decentralised Control of Intelligent Devices: A Healthcare Facility Study
 
Viseo presentation Clean Code / Intelligence Artificielle DCOP
Viseo presentation Clean Code / Intelligence Artificielle DCOPViseo presentation Clean Code / Intelligence Artificielle DCOP
Viseo presentation Clean Code / Intelligence Artificielle DCOP
 
Cracking RSA key - Quantum Computing - #GlobalAzure Bootcamp - Louis Charavne...
Cracking RSA key - Quantum Computing - #GlobalAzure Bootcamp - Louis Charavne...Cracking RSA key - Quantum Computing - #GlobalAzure Bootcamp - Louis Charavne...
Cracking RSA key - Quantum Computing - #GlobalAzure Bootcamp - Louis Charavne...
 
Gab2019 Ihor leontiev Vincent Thavonekham ouverture
Gab2019 Ihor leontiev Vincent Thavonekham ouvertureGab2019 Ihor leontiev Vincent Thavonekham ouverture
Gab2019 Ihor leontiev Vincent Thavonekham ouverture
 
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
Global Azure Bootcamp 2016 - Lyon : Keynote Quantum : Concepts explained & Li...
 
Global Azure Bootcamp 2016 - Lyon - Keynote Opening
Global Azure Bootcamp 2016 - Lyon - Keynote OpeningGlobal Azure Bootcamp 2016 - Lyon - Keynote Opening
Global Azure Bootcamp 2016 - Lyon - Keynote Opening
 
Global Azure Bootcamp 2016 - Lyon : Iot Project Management, IoT Edge with Rea...
Global Azure Bootcamp 2016 - Lyon : Iot Project Management, IoT Edge with Rea...Global Azure Bootcamp 2016 - Lyon : Iot Project Management, IoT Edge with Rea...
Global Azure Bootcamp 2016 - Lyon : Iot Project Management, IoT Edge with Rea...
 
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
 
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
 
Industry4.0 IoT Vincent Thavonekham - Azure Day Ukraine
Industry4.0 IoT Vincent Thavonekham - Azure Day UkraineIndustry4.0 IoT Vincent Thavonekham - Azure Day Ukraine
Industry4.0 IoT Vincent Thavonekham - Azure Day Ukraine
 
Why care about GDPR and avoid over $20 million fines, even outside EU ?
Why care about GDPR and avoid over $20 million fines, even outside EU ?Why care about GDPR and avoid over $20 million fines, even outside EU ?
Why care about GDPR and avoid over $20 million fines, even outside EU ?
 
Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Pres azure   paas tdf -rex-hager-vincent thavonekham-regional director-azug f...Pres azure   paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
 
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projectsMicrosoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
 
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
 
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015
 
Slides deck yos-tour_vincentthavonekham_mvp_azure_the_future_of_microsoft_dat...
Slides deck yos-tour_vincentthavonekham_mvp_azure_the_future_of_microsoft_dat...Slides deck yos-tour_vincentthavonekham_mvp_azure_the_future_of_microsoft_dat...
Slides deck yos-tour_vincentthavonekham_mvp_azure_the_future_of_microsoft_dat...
 

Cedric leblond migrer jenkins AWS vers Azure Devops

  • 1. Migrer de Jenkins vers Azure DevOps les Builds Java CÉDRIC LEBLOND @leblond_c
  • 2.
  • 3. Contexte : migration de +80 repos et +1000 builds AzureAWS Plateforme IAAS / IAC cibleEnvironnements existants DEV Prod PreProd UAT Prod PreProd UAT DEV
  • 4. Migrer en mode copier/coller COPIER LES REPOS COPIER LES BUILDS EN CONSERVANT LES MÊMES
  • 5. Migration de repos Git • Importer les repos Git via l’interface •  facile et rapide, mais une seule fois, pas d’automatisation • Utiliser les fonctions de mirroring de Git avec un repo locale git clone --mirror https://serverTFS/Projet/repo git set remote dest https://dev.azure.com/orga/projet/repo git push --mirror •  permet de synchroniser plusieurs fois, automatisable •  reste à modifier les configurations de Builds Jenkins
  • 6. Migrer les builds en répliquant celles de Jenkins • Copier les actions et paramètres depuis les Jobs Jenkins et les Jenkinsfile (groovy)
  • 7. Vue d’ensemble de GitFlow Author: Vincent Driessen Original blog post: http://nvie.com/posts/a-succesful- git-branching-model License: Creative Commons BY-SA
  • 8. Migrer les premiers repos AzureAWS Plateforme IAAS / IAC cibleEnvironnements existants DEV Prod PreProd UAT Prod PreProd UAT DEV
  • 9. Résumé des builds, Ajout de branch policies • Build de CI : compilation, tests • Build de déploiement en Dev : ◦ feature-Deploy ◦ nightly-Deploy • Build liées au GitFlow ◦ feature-start ◦ release-start, release-finish ◦ hotfix-start, hotfix-finish • Ajout de Policies pour protéger la branche develop: ◦ 2 reviewers minimum ◦ Build CI réussie ◦ Commentaires resolus
  • 10. Gérer les packages via Azure Artifacts AzureAWS Plateforme IAAS / IAC cibleEnvironnements existants DEV Prod PreProd UAT Prod PreProd UAT DEV
  • 11. Pousser les packages vers Azure Artifacts • Azure Artifacts permet de configurer des feeds upstream publics masi pas de feed upstream privés •  Seule solution : déployer sur les environnements existants depuis Azure Artifacts • Ouvrir le flux réseau des environnements existants vers Azure Artifacts • Pousser tous les packages Nexus existants vers Azure Artifacts • Configurer les builds pour pousser vers le feed d’Azure Artifacts
  • 12. Gotcha! les points à ne pas oublier • Le nombre de Builds contraint à utiliser des conventions: ◦ Un dossier par répertoire ◦ Nommage uniforme : nomrepo-CI, nomrepo-release-start, … • Utiliser les groupes de Tasks pour modifier une seule fois (les scripts) • Utiliser Clone pour créer les builds similaires • Bien coché la case : autoriser les scripts à utiliser OAuth • Donner tous les droits nécessaires au compte de build Project Collection Build Service ◦ Sur les repos : Contribute, create branch, create tag , force push ◦ Sur les feeds : Contribute • Si l’option « Authenticate built-In maven feed » ne fonctionne pas, créer les « maven credentials » et les ajouter dans le fichier settings.xml de l’agent
  • 13. Où en sommes-nous ? • Equipes ont un retour positifs sur cette mise en place •  elles retrouvent les mêmes fonctions peu d’écarts et changements •  permet les Pull Requests et les revue de code • Les équipes sont prêtes à essayer sur quelques projets !
  • 14. Finir de migrer les +80 repos et +1000 builds AzureAWS Plateforme IAAS / IAC cibleEnvironnements existants DEV Prod PreProd UAT Prod PreProd UAT DEV
  • 15. Migrer en mode full Azure DevOps TIRER PARTI DES FONCTIONNALITÉS DE LA PLATEFORME SUIVRE LES BONNES PRATIQUES DE PIPELINE
  • 16. Beaucoup de builds lancées manuellement • Beaucoup sont liées au GitFlow : ◦ feature-start ◦ release-start, release-finish ◦ hotfix-start, hotfix-finish •  Adoptons une stratégie plus légère : Release Flow ◦ https://docs.microsoft.com/en-us/azure/devops/learn/devops-at-microsoft/release-flow
  • 17. Build once, deploy many • Compilation dans plusieurs Builds: ◦ migration-CI ◦ migration-Quality ◦ migration-feature-Deploy ◦ migration-nightly-Deploy •  Créons une définition de release ◦ Continuuous Deployment ◦ Pull Request deployment
  • 18. Déployer de la même façon, sur des environnements similaires •  Passons l’environnement de Dev dans SaltStack
  • 19. Déployer l’environnement de Dev en Saltstack AzureAWS Plateforme IAAS / IAC cibleEnvironnements existants DEV Prod PreProd UAT Prod PreProd UAT DEV
  • 20. Pipeline as code • Dans le cadre de la migration, le désavantage est d’avoir besoin de modifier les repos • Permet aussi de modifier une fois les étapes grâce aux templates
  • 21. Résumé et Suite CE QUE NOUS A AVONS VU CE QU’IL RESTE A ACCOMPLIR
  • 22. Résumé • Migration des repos Git très facile et transparente • Création de Builds presque identiques à Jenkins possible • Remplacement des Jenkinsfile par des fichiers yaml possible • Remplacement de Nexus par Azure Artifacts possible
  • 23. La suite ? • Automatiser la copie d’un répertoire de Builds en changeant le repo cible • Migrer les 80 repos… • Migrer complètement vers la plateforme IAAS / IaC • Fermer l’environnement AWS
  • 24. Compléter la migration AzureAWS Plateforme IAAS / IAC cibleEnvironnements existants DEV Prod PreProd UAT Prod PreProd UAT DEV

Notes de l'éditeur

  1. Docker enables developers and IT admins to build, ship and run any application, anywhere Build, Ship, Run Docker aims to deliver open tools to help developers build applications with open APIs to help sysadmins better manage these applications http://docker.com/company
  2. Docker enables developers and IT admins to build, ship and run any application, anywhere Build, Ship, Run Docker aims to deliver open tools to help developers build applications with open APIs to help sysadmins better manage these applications http://docker.com/company
  3. Author: Vincent Driessen Original blog post: http://nvie.com/posts/a-succesful-git-branching-model License: Creative Commons BY-SA
  4. Ici utiliser un Nexus côté Azure aurait permit d’utiliser le Nexus AWS comme upstream. Azure Artifa
  5. https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=vsts La possibilité d’utiliser des conteneurs dans la pipeline est aussi très intéressante. A chaque lancement, une nouvelle image propre est instanciée