Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ansible & Symfony : Mieux déployer et plus souvent

Ansible & Symfony : Mieux déployer et plus souvent

Mieux déployer avec le PR Builder dont la mission va être de déployer automatiquement le code de votre pull request sur un environnement iso prod et isolé.

Présentation du workflow de déploiement continu chez Y-Proximité.

Le tout rendu possible avec Ansible et Tower (licence gratuite jusqu'à 10 serveurs)

Pour aller plus loin:
- Présentation d'Ansible: http://devops-life.com/blog/2014/12/03/presentation-ansible-provisionning-deploiement-applicatif.html
- Présentation en détail du PR Builder:
http://devops-life.com/blog/2015/04/12/le-pull-request-builder.html

Tristan Bessoussa

February 16, 2016
Tweet

Other Decks in Programming

Transcript

  1. Hello! Me <-> Tristan Bessoussa Responsable technique chez Yproximité (groupe

    Fiducial) Follow me @sf_tristanb Projet perso: seek-team.com (pour les gamers)
  2. Ansible “It is an IT orchestration engine that automates configuration

    management, application deployment and many other IT needs” Traduction: yml yml yml yml yml yml et jinja2
  3. Qu’est ce qu’on peut faire ? Provisioning Serveurs dédiés, du

    cloud sur du Linux ou Windows (oui, oui...) Configuration Configurer les serveurs Déploiement Déployer n’importe quel type d’app
  4. Ansible Tower Un GUI par dessus Ansible qui permet de

    lancer des playbook depuis une interface (ou par consommation d’une API) Attention, licence payante pas a la portée de toutes les bourses (starts @ 5k€/an). Alternative gratuite: script .sh qui lance le playbook en local
  5. Big picture API Back Front Importer Yprox APP Repository monolithique

    (=gain de productivité) Même code base (1 bug introduit = impacte nos 5400 sites)
  6. Ce dont on ne parlera pas - Comment faire de

    l’Ansible - Tests fonctionnels - Tests unitaires On part du principe que vous avez vos tests déjà écrit*. *Condition requise si vous voulez mieux livrer
  7. Définition - Déployer le code d’une pull request automatiquement en

    environnement “iso” prod - Un “platform.sh” light, gratuit et home-made Le “PR Builder” Utilité - Faire tester le fonctionnel par le product owner, client …. - Permettre au développeur de tester son code en “iso” prod - Avoir une pre-prod plus “stable” - Valider la feature dans un environnement “isolé”
  8. Ca marche Exemple de nombre de déploiement sur la demi-journée

    du lundi 15 février 2016: 10 deploy à l’écran
  9. Objectifs 10% de “chance” de bugs 100% 70% 40% 10%

    20% Tests unitaires Tests fonctionnels PR Builder Staging / Pré-prod Production