Je migre de nombreuses builds Java, jgitflow d'une plateforme Jenkins et Nexus hébergée sur AWS vers Azure DevOps.
Après une description du contexte, je vous détaillerai :
- comment la migration de package Nexus est réalisée.
- comment les Builds Jenkins sont recrées sur Azure DevOps.
- comment utiliser jgitflow et git efficacement dans les builds
Nous verrons beaucoup d'astuces et options pour orchestrer les nouvelles builds et releases. Et surtout, nous discuterons de comment accompagner les équipes dans cette transition.
Déploiement dans Azure depuis Visual Studio Team ServicesAdrien Siffermann
Présentation d'un flux de déploiement d'une Azure WebApp et d'une base de données SQL Azure entièrement automatisé avec Visual Studio Team Services. Présentée dans le cadre du meetup AZUG FR du 15 septembre 2016.
Gérer son environnement de développement avec DockerJulien Dubois
Utilisation de Docker pour gérer une stack de développement "moderne", avec Maven / Grunt / Bower / Yeoman, et pouvoir facilement se partager ses containers entre membres d'une même équipe
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
Avec 3 autres MVP, nous avions réalisé une démonstration autour de Docker, ASP.NET Core et Raspberry PI 2 pendant la soirée du tech.days camp du 16/03 organisée par Microsoft. J'ai fait un retour d'expérience sur cette démo principalement sur le Continuous Delivery avec VSTS.
Vous pouvez reproduire la démo chez vous avec l'aide de notre repo Github https://github.com/punlimitlab/home.
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
Docker est un projet Open Source qui automatise le déploiement d’applications dans des conteneurs logiciels virtuels. Déjà utilisé par Google, Red Hat, RackSpace, ebay, Microsoft, Amazon, Docker rencontre un succès mondial et est en passe de révolutionner le marché du cloud et de la virtualisation.
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Il a pour objectif de faciliter le déploiement d’une application, d’avoir plusieurs versions de celle-ci et également d’automatiser son packaging tout en gardant un système de base propre.
Alexandre Di Pino nous présentera cette technologie et l’utilisation qu’il en fait dans un contexte de production.
A propos de l’intervenant
Titulaire d’un master en informatique à Epitech, Alexandre travaille au sein de la société InSimo, société développant un moteur physique temps réel pour la simulation médicale. Twitter : @a_dipino / LinkedIn : alexandredipino
Déploiement dans Azure depuis Visual Studio Team ServicesAdrien Siffermann
Présentation d'un flux de déploiement d'une Azure WebApp et d'une base de données SQL Azure entièrement automatisé avec Visual Studio Team Services. Présentée dans le cadre du meetup AZUG FR du 15 septembre 2016.
Gérer son environnement de développement avec DockerJulien Dubois
Utilisation de Docker pour gérer une stack de développement "moderne", avec Maven / Grunt / Bower / Yeoman, et pouvoir facilement se partager ses containers entre membres d'une même équipe
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
Avec 3 autres MVP, nous avions réalisé une démonstration autour de Docker, ASP.NET Core et Raspberry PI 2 pendant la soirée du tech.days camp du 16/03 organisée par Microsoft. J'ai fait un retour d'expérience sur cette démo principalement sur le Continuous Delivery avec VSTS.
Vous pouvez reproduire la démo chez vous avec l'aide de notre repo Github https://github.com/punlimitlab/home.
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
Docker est un projet Open Source qui automatise le déploiement d’applications dans des conteneurs logiciels virtuels. Déjà utilisé par Google, Red Hat, RackSpace, ebay, Microsoft, Amazon, Docker rencontre un succès mondial et est en passe de révolutionner le marché du cloud et de la virtualisation.
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Il a pour objectif de faciliter le déploiement d’une application, d’avoir plusieurs versions de celle-ci et également d’automatiser son packaging tout en gardant un système de base propre.
Alexandre Di Pino nous présentera cette technologie et l’utilisation qu’il en fait dans un contexte de production.
A propos de l’intervenant
Titulaire d’un master en informatique à Epitech, Alexandre travaille au sein de la société InSimo, société développant un moteur physique temps réel pour la simulation médicale. Twitter : @a_dipino / LinkedIn : alexandredipino
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?Membré Guillaume
Présentation au Jug de Nantes le 15 mai 2017
Si vous croyez que Docker et les Pipelines ne servent qu'aux chargements et transport de conteneurs, Jenkins, votre fidèle serviteur, vous montrera comment en tirer le meilleur parti.
Conférence donnée au JUG Nantes, mai 2017
Cette présentation était en partenariat avec WeScale (Cédric Hauber).
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements. Entre démonstrations et retours de terrain, vous repartirez avec tous les outils pour conteneuriser la planète.
Nouvelles librairies, nouveau frameworks, nouveau langages... le front de nos applications n'a cessé de se complexifier au cours des 10 dernières années. Ce Tool-in-Action va vous montrer comment GruntJs et ses nombreux plugins permettent de simplifier et d'automatiser le build de la partie front de vos applications Web Java.
Présentation au Docker Meetup de Nantes le 27 juin 2017
Dans une démarche DevOps, La Poste a choisi de mettre en place l'orchestrateur de conteneur Openshift, basé sur Kubernetes. Nous détaillerons les changements opérés (techniques et humains) pour une mise en place et une adoption réussie d'un Paas. Du POC à la MEP, quelles sont les étapes ?
Conférence donnée au Docker Meetup Nantes, juin 2017
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Que ce soit pour un free-lance ou une équipe, que ce soit pour le développement et/ou la mise en production, Docker est la solution qui va simplifier la gestion de vos projets.
Durant cette session René Cotton vous propose de découvrir Docker et voir comment l’utiliser pour le développement et la production.
A propos de l’intervenant
CoFondateur et Directeur Technique de WiziShop.com, depuis plus de 10 ans je mets toute mon énergie dans la création d’outil simple et performant. Depuis maintenant 7 ans cette énergie est focalisé sur le domaine du e-commerce.
Site : http://www.wizishop.com/
Twitter : @_Re_
Au secours, mon chef m'a demandé de passer au DevOpsantony_guilloteau
"Continuous Delivery" et "DevOps" font partis des buzz word du moment dans l'IT.
Si vous n'êtes pas encore entrés dans ces démarches, ce n'est qu'une question de temps ! Préparez-vous à voir bientôt débarquer votre chef sur le bench avec le bouquin "Découvrir DevOps" sous le bras.
Mais pour les développeurs, ça change quoi le DevOps ? A travers cette conférence, je vais vous faire part des mes différents retours d'expérience sur ces changements autour des pratiques, organisations et outillages.
Cette formation présente les élements de base pour maîtriser git/gitLab. Elle contient aussi des astuces et de bonnes pratiques pour mieux utiliser git.
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?Membré Guillaume
Présentation au Jug de Nantes le 15 mai 2017
Si vous croyez que Docker et les Pipelines ne servent qu'aux chargements et transport de conteneurs, Jenkins, votre fidèle serviteur, vous montrera comment en tirer le meilleur parti.
Conférence donnée au JUG Nantes, mai 2017
Cette présentation était en partenariat avec WeScale (Cédric Hauber).
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements. Entre démonstrations et retours de terrain, vous repartirez avec tous les outils pour conteneuriser la planète.
Nouvelles librairies, nouveau frameworks, nouveau langages... le front de nos applications n'a cessé de se complexifier au cours des 10 dernières années. Ce Tool-in-Action va vous montrer comment GruntJs et ses nombreux plugins permettent de simplifier et d'automatiser le build de la partie front de vos applications Web Java.
Présentation au Docker Meetup de Nantes le 27 juin 2017
Dans une démarche DevOps, La Poste a choisi de mettre en place l'orchestrateur de conteneur Openshift, basé sur Kubernetes. Nous détaillerons les changements opérés (techniques et humains) pour une mise en place et une adoption réussie d'un Paas. Du POC à la MEP, quelles sont les étapes ?
Conférence donnée au Docker Meetup Nantes, juin 2017
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Que ce soit pour un free-lance ou une équipe, que ce soit pour le développement et/ou la mise en production, Docker est la solution qui va simplifier la gestion de vos projets.
Durant cette session René Cotton vous propose de découvrir Docker et voir comment l’utiliser pour le développement et la production.
A propos de l’intervenant
CoFondateur et Directeur Technique de WiziShop.com, depuis plus de 10 ans je mets toute mon énergie dans la création d’outil simple et performant. Depuis maintenant 7 ans cette énergie est focalisé sur le domaine du e-commerce.
Site : http://www.wizishop.com/
Twitter : @_Re_
Au secours, mon chef m'a demandé de passer au DevOpsantony_guilloteau
"Continuous Delivery" et "DevOps" font partis des buzz word du moment dans l'IT.
Si vous n'êtes pas encore entrés dans ces démarches, ce n'est qu'une question de temps ! Préparez-vous à voir bientôt débarquer votre chef sur le bench avec le bouquin "Découvrir DevOps" sous le bras.
Mais pour les développeurs, ça change quoi le DevOps ? A travers cette conférence, je vais vous faire part des mes différents retours d'expérience sur ces changements autour des pratiques, organisations et outillages.
Cette formation présente les élements de base pour maîtriser git/gitLab. Elle contient aussi des astuces et de bonnes pratiques pour mieux utiliser git.
Se support présente l'outil d'intégration Maven dans le processus d'industrialisation du génie logiciel. Tout ce qu'il faut savoir sur maven.
La deuxième partie de ce cours traite la mise en oeuvre de maven dans des projets basés sur JPA, Hibernate, Spring et Struts.
Bon apprentissage à tous
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...Microsoft
Windows Azure est la solution de Cloud Public de Microsoft, ouverte à tous les systèmes d'exploitation Windows ou Linux et à tous les langages: Java, PHP, Python, .Net etc. L'objectif de cette session est de montrer au travers d'un cas concret l'ouverture de Windows Azure à des solutions non Microsoft. Venez découvrir comment Kompass International, leader de l'information marketing B2B, a migré l'ensemble de ses applications business, codées en Java sur Windows Azure.
Speakers : Pierrick PETAIN (Kompass), Thomas Conté (Microsoft)
Mes outils électroniques Agile, tout un programme!Cédric Leblond
thème : choix des outils volontaires ou subis par ceux qui les utilisent : nous les équipes agiles.
Sur ces choix, j’ai remarqué que nous choisissions rarement consciemment et même si c'est le cas : soit trop rapidement, soit avec des débats sans fin.
L'objectif de cette session est de donner une vision claire sur le choix de vos outils, le changement d’outil et l’intégration de ces outils dans la chaîne de Continuuous Delivery (déploiement continue)
(ou le pourquoi, qui, quand, quoi, comment choisir un outil)
Je me focalise sur le choix d'un outil Kanban, avec lequel j’ai rencontré le plus de difficultés, mais évidemment vous pouvez l’appliquer à tous les autres outils de l’équipe Agile.
Résumé
Pour la modification du code, nous utilisons tous des outils électroniques (IDEs, Git, Cucumber). Pour notre management visuel, nous avons encore des réticences : trop rigides, trop simpliste ou trop compliqués, ..ou encore difficile à intégrer ensemble. Et bien, je pense que ce sont des préjugés.
Fan d'outils, je vais vous aider à trouver votre ou vos outils Kanban.
Je présenterai intégration des outils Kanban entre eux et aussi vers d'autres outils de la chaine de Continuuous Delivery.
Description
Les freins à l'utilisation des outils électroniques et surtout leur intégration qui peut devenir un vrai casse tête.
Les nouvelles solutions qui méritent au moins de se reposer cette question d'utiliser des outils électroniques pour Kanban.
La flexibilité apporter par les API. Notamment la facilité d'étendre les fonctionnalités avec d'autres outils kanban/agiles préférés.
La possibilité de les adapter facilement pour accompagner les changements souhaités par l'équipe.
Déroulement
les étapes de la session : (à ce jour)
- Paradoxe de la multitude outils pour Kanban et des freins à leur adoption
- Des outils simples et qui vous guident dans leur utilisation, ca existe déjà
- Le choix épineux du bon outil : Matrice fonctionnalités, calcul ROI, ..
- On oublie parfois .. qu'il doit avant tout être agile (facile à adapter/changer/etendre/intégrer)
- L'intégration des outils c'est super simple ! Zapier, IFTTT
- Tellement simple que l'on peut même monter rapidement une usine à gaz
- Et si on essayait les faire eux aussi travailler en flux tiré ?
Ma stack d'outils agiles, tout un programme !Cédric Leblond
Pour le développement, nous utilisons tous des outils. Leur nombre et surtout leur intégration peuvent même devenir un vrai casse tête. Surtout s'il vous faut supporter des technologies parfois très distinctes ... Je vous propose de monter une plateforme entièrement intégrée et flexible avec Visual Studio Online. Intégrée car toutes les données y sont disponibles. Flexible car ses API permettent de l'étendre avec vos outils agiles préférés (Trello, Zendesk, Jenkins, Jira, ...) et de l’adapter ainsi à vos besoins
Bon App - Création collaborative de maquettes efficacesCédric Leblond
VS et TFS 2012 proposent des outils simples et collaboratifs de maquettage. Ils permettent de construire, visualiser et valider les scénarios d’utilisation.
Les outils de collaboration permettent d'obtenir d'en améliorer la qualité en obtenant des retours et remarques.
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...Cédric Leblond
Cristal Union a souhaité mettre à disposition des techniciens sur le terrain des tablettes Windows 8 munies d’applicatifs adaptés à leur métier. Cristal Union est un groupe coopératif agro-industriel représentant environ 25 % de la production betteravière française. Ils s’appuient sur deux activités principales : le sucre à destination de l’industrie et de la bouche (Daddy et Erstein), l’alcool et l’éthanol (carburation, industrie, parfumerie,…) . Accompagné d’Happly, ils ont mis en œuvre leur première application métier Windows Store. Avec leur retour d’expérience, vous découvrirez aussi la démarche ALM et les outils mis en œuvre. Nous aborderons les différentes facettes : expression du besoin et feedback, méthodologie Agile, déploiement et automatisation des tests techniques, plan de recette et tests fonctionnels. Lors de cette session, nous présenterons donc un projet concret où la démarche agile et l'industrialisation ont permis d'assurer la réussite et la qualité des développements.
Agile Tour 2012 Paris - Nouveaux Outils Agile MS Cédric Leblond
Les méthodes et processus ont besoin de s'appuyer sur des outils, c'est même souvent nécessaire. Microsoft propose Visual Studio et le serveur TFS (Team Foundation Server) comme solution ALM (Application Lifecycle Management). La nouvelle version 2012 propose une solution complète pour la gestion de projet Agile en intégrant tous les acteurs (chef de projet, scrum master, product owner, développeur, testeur, sponsor, moa, amoa, ...). Dans cette session, nous montrerons ses bénéfices et capacités. Nous verrons en particulier : le prototypage et storyboarding, la définition et l'ordonnancement du Backlog, la planification des itérations, le suivi (tableau des taches, kanban, burndown chart), la traçabilité des spécifications/code source, les tests (ATDD piloté par les tests de l'interface), le feed-back client en continu.
Je présente les points clés pour démarrer ou migrer vers Team Foundation Server 2012.
Attention, les diapositives sont issues d'une présentation d'avril 2012 avant la sortie de la RTM.
Actionner ses processus qualité avec Visual Studio ALMCédric Leblond
Présentation d'une proposition pour établir la roadmap de montée en compétence Agile de sonéquipe et la suivre son avancement.
La méthode est librement inspirée des modèle type CMMI, ITIL.
Dans une seconde partie, quelques exmelpes de processus sont illustré supportés par Visual Studio ALM
Actionner ses processus qualité avec Visual Studio ALM
Migrer de Jenkins vers Azure DevOps les Builds Java
1. Migrer de Jenkins vers Azure
DevOps les Builds Java
CÉDRIC LEBLOND
@leblond_c
2. Contexte : migration de +80 repos et +1000 builds
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
3. Migrer en mode copier/coller
COPIER LES REPOS
COPIER LES BUILDS EN CONSERVANT LES MÊMES
4. 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
5. Migrer les builds en répliquant celles de Jenkins
• Copier les actions et paramètres depuis les Jobs Jenkins et les Jenkinsfile (groovy)
6. 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
7. Migrer les premiers repos
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
8. 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
9. Gérer les packages via Azure Artifacts
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
10. 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
11. 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
12. 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 !
13. Finir de migrer les +80 repos et +1000 builds
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
14. Migrer en mode full Azure
DevOps
TIRER PARTI DES FONCTIONNALITÉS DE LA PLATEFORME
SUIVRE LES BONNES PRATIQUES DE PIPELINE
15. 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
16. 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
17. Déployer de la même façon, sur des environnements similaires
• Passons l’environnement de Dev dans SaltStack
18. Déployer l’environnement de Dev en Saltstack
AzureAWS
Plateforme IAAS / IAC cibleEnvironnements existants
DEV Prod PreProd UAT Prod PreProd UAT DEV
19. 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é
• 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
22. 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
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
Author: Vincent Driessen Original blog post: http://nvie.com/posts/a-succesful-git-branching-model License: Creative Commons BY-SA
Ici utiliser un Nexus côté Azure aurait permit d’utiliser le Nexus AWS comme upstream.Azure Artifa
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