si les startups le peuvent pourquoi pas vous · as a continuousphp user i want to select behat...
TRANSCRIPT
Si les Startups le peuvent pourquoi pas vous ?
Qui suis-jeOswald De Riemaecker
• CEO & Co-Founder of Continuous S.A. / continuousphp©
• Cloud Architect/Agile Enthousiaste
https://lu.linkedin.com/in/oswaldderiemaecker
@oswald_odr
Il est plus difficile que jamais de rester au TOP ...
@cbinsights
Imaginez … “Et si vous étiez une Startup”
Traits d’une Startup
● Lean Startup
Traits d’une Startup
● Lean Startup
● Agilité
Traits d’une Startup
● Lean Startup
● Agilité
● DevOps
Regardons maintenant un cas d’étude
Scrum pour la gestion de Produit Agile
As a continuousphp user I want to select Behat Testing Framework in the Testing Settings
As a continuousphp user I want to provide the path(s) of application behat.yml
As a continuousphp user I want to provide the target(s) I want to run before starting behat scenarios
As a continuousphp user I want to make the build blocking if behat fails
………...
Product Backlog
- As a continuousphp user I want to select Behat Testing Framework in the Testing Settings
- As a continuousphp user I want to provide the path(s) of application behat.yml
- As a continuousphp user I want to provide the target(s) I want to run before starting behat scenarios
- As a continuousphp user I want to make the build blocking if behat fails
……
Prio
riser
Gestion du flux de travail (Kanban)
As a continuousphp user I want to select Behat Testing Framework in the Testing Settings
As a continuousphp user I want to provide the path(s) of application behat.yml
As a continuousphp user I want to provide the target(s) I want to run before starting behat scenarios
As a continuousphp user I want to make the build blocking if behat fails
………...
Product Backlog
TODO (3) WIP (2) DONE
PullAs a continuousphp user I want to select Behat Testing Framework in the Testing Settings
As a continuousphp user I want to provide the path(s) of application behat.yml
As a continuousphp user I want to provide the target(s) I want to run before starting behat scenarios
As a continuousphp user I want to make the build blocking if behat fails
………...
Gestion du flux de travail (Kanban)
As a continuousphp user I want to select Behat Testing Framework in the Testing Settings
As a continuousphp user I want to provide the path(s) of application behat.yml
As a continuousphp user I want to provide the target(s) I want to run before starting behat scenarios
As a continuousphp user I want to make the build blocking if behat fails
………...
Product Backlog
TODO (3) WIP (2) DONE
Gestion du flux de travail (Kanban)
As a continuousphp user I want to select Behat Testing Framework in the Testing Settings
As a continuousphp user I want to provide the path(s) of application behat.yml
As a continuousphp user I want to provide the target(s) I want to run before starting behat scenarios
As a continuousphp user I want to make the build blocking if behat fails
………...
Product Backlog
TODO (3) WIP (2) DONE
Définition du terminé (Done)● Une Pull Request est ouverte de la branche de feature vers la branche master● Tous les tests passent sur le pipeline de la Pull Request ● Un environnement éphémère est prêt pour faire des tests d'acceptance pour
cette Pull Request si les tests sont passés● Après les tests d’acceptance, la Pull Request est acceptée et mergée dans la
branche master● Une fois mergé, le pipeline de la master mets à jour la production.
TODO (3) WIP (2) DONE
Environnement d'acceptance à la demande● Infrastructure en tant que dépendance● Fournisseur de cloud (IaaS)
○ Infrastructure Codée reproductible à la demande pour n’importe quel environment○ réduire les coûts (OPEX vs CAPEX)
[aws-cf-runstack] 2016-03-17T14:38:03+00:00: AWS::CloudFormation::Stack (CREATE_IN_PROGRESS)
[aws-cf-runstack] 2016-03-17T14:38:25+00:00: AWS::EC2::SecurityGroup (CREATE_COMPLETE)
[aws-cf-runstack] 2016-03-17T14:38:25+00:00: AWS::EC2::EIP (CREATE_COMPLETE)
[aws-cf-runstack] 2016-03-17T14:39:02+00:00: AWS::Route53::RecordSetGroup (CREATE_COMPLETE)
[aws-cf-runstack] 2016-03-17T14:39:20+00:00: AWS::IAM::Role (CREATE_COMPLETE)
[aws-cf-runstack] 2016-03-17T14:39:24+00:00: AWS::IAM::Policy (CREATE_COMPLETE)
[aws-cf-runstack] 2016-03-17T14:41:24+00:00: AWS::IAM::InstanceProfile (CREATE_COMPLETE)
[aws-cf-runstack] 2016-03-17T14:42:20+00:00: AWS::EC2::Instance (CREATE_COMPLETE)
[aws-cf-runstack]
WebServerIP: 52.19.236.43
WebServerURL: http://demo.subsite-starterkit.ec-europa.continuous.lu/
Le branching model et pipelines
Master
Feature #1
Fork
Le branching model et pipelines
Master
Feature #1
Le branching model et pipelines
Master
Feature #1PR #1
Le branching model et pipelines
Master
Feature #1
Le branching model et pipelines
Master
Feature #1
Le branching model et pipelines
Master
Feature #1
Infra Éphémère
Le branching model et pipelines
Master
Feature #1
Infra ÉphémèrePR Accepté
Le branching model et pipelines
Master
Feature #1
Infra Éphémère
Le branching model et pipelines
Master
Feature #1
Production
Stratégie de Déploiement● Livraison Continue● Déploiement Continu
Challenge● Faites que votre Application soit Deployment-ready/Cloud-ready
○ Phing, Rake, Make, Grunt
...
PullPush
Challenge● Brisez vos dépendances
○ Service Adapter, Gestionnaire de Package, Gestion de versions, Injection de dépendances
File System
Challenge● Migration de base de données
○ Phinx, Doctrine Migration, Liquibase
V2.1.1 V2.1.2
Challenge● Automatisez vos tests (spécification par l’exemple)
○ Behat, PHPUnit, rspec, jasmine
Challenge● Accélérez la gestion de vos systèmes (Système provisioning)
○ Vagrant, Chef, Kitchen, Ansible, Puppets, Packer, Docker
Challenge● Migrez vers une infrastructure Cloud hybride ou complète
Development Staging ProductionTesting
Quelques références complémentaires
“Pourquoi pas vous ?”
https://continuous.lu
https://continuousphp.com
https://twitter.com/continuousphp
https://www.linkedin.com/company/3160425
https://www.facebook.com/ContinuousPHP-183047251848548/