Top Banner
One version to rules them all [email protected]
11
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: One version to rules them all

One version to rules them all

[email protected]

Page 2: One version to rules them all

Pourquoi ?

• Continuous deployment

• Déployer

• Souvent

• Facilement

• Sans angoisse

Qu’est ce qu’on déploie ?

Peux t on passer la version X en production ?

Page 3: One version to rules them all

Qu’est ce qu’une version ?• Ce qu’il faut pour garantir sa reproductibilité

Application Heroku Back office @

Orange

Plateforme Cloud

Site E-Commerce en PHP

Page 4: One version to rules them all

Version ?

Package OS

CodeSocle

Monitoring / Supervision

Configuration Plateforme

Configuration Socle / OS Application compilée

Schémas SQL / LDAP

Application iPhone / Android

Description Plateforme

Dépendances compilée

Données éditoriales

Page 5: One version to rules them all

Package OS

CodeSocle

Monitoring / Supervision

Configuration Plateforme

Configuration Socle / OS Application compilée

Schémas SQL / LDAP

Application iPhone /

Description Plateforme

Dépendances compilées

Données éditoriales

Repo binaire Git Repo Apt

Page 6: One version to rules them all

Concrètement

Page 7: One version to rules them all

DoncFichier de

version

Capistrano

Git Repos binaire

Plateforme

Contrôleur

Socle

GitGit HTTP

API

Chef soloApplicatif

Page 8: One version to rules them all

Processus de « labelisation »

Jira

EquipesJenkins

Job de livraison Git

V0.148

V0.149

V0.150

Déploiement intégration

Tests automatisés

OK / KO

Page 9: One version to rules them all

DéploiementTAG=1.149 ./run.rb prd1 chef apps:deploy:all

Working from /jenkins/workspace/Deploy labelized platform Launching cap command on env : prd1 Searching for tag : last_prd1 Using hash_code for releases : fcd64f1339b5bb09c8ff4bb4a7304239db6e7f4e Current tags : last_prd1 1.168.1 Using Release file : labelized_v1.yml Loading config from releases/labelized_v1.yml Using hashcode for deploy.git 3a0200955c1e2f18b2e4ca63c1a34ba0c7036dfc

Page 10: One version to rules them all

Workflow

Labelisation

Tests de non régression automatisés

Décision

Intégration

Pré productionDécision

Production

Recette manuelle

Décision

Page 11: One version to rules them all

Tout automatique ?

• Tout est gérable en version ?

• Toutes les équipes respectent le processus ?

• Qui décide de labéliser ?

• Quid des recettes manuelles ?

• Qui décide quel bug par en prod ?