SlideShare a Scribd company logo
1 of 57
Download to read offline
Continuous
PHP Pipeline
in it2PROFESSIONAL PHP SERVICES
Michelangelo van Dam
PHP Consultant, Community Leader & Trainer
https://www.ļ¬‚ickr.com/photos/akrabat/8784318813
Schedule
ā€¢ Development processes
ā€¢ Automation ļ¬rst
ā€¢ Continuous Integration
ā€¢ The PHP Pipeline
ā€¢ Do what you do best: code
ā€¢ Round up
https://www.ļ¬‚ickr.com/photos/wenzday01/3005297355
Knowledge Check
ā€¢ Whatā€™s PHP?
ā€¢ Whatā€™s a SCM?
ā€¢ Whatā€™s unit testing?
ā€¢ What are distributed systems?
ā€¢ What is provisioning?
ā€¢ What are merge conļ¬‚icts?
https://www.ļ¬‚ickr.com/photos/didmyself/6530383417
Development Management
https://www.ļ¬‚ickr.com/photos/27433628@N05/2597308328
Waterfall
Project Start
Kick-off meeting
Deļ¬ning Approach
Meeting Execs
Project Initiate
Business Cases
Project Controls
Risk Deļ¬nition
Project Control
Progress Monitoring
Project Delivery
Project ļ¬nalisation
Maintenance
Ongoing process
Scrum
Weekly
backlog review
Daily
standups
Product
Backlog
Acceptance
Criteria
Sprint
Backlog
Prototype Delivery
Product
Backlog
Product
BacklogProduct
Backlog
Sprint
Something (ad-hock)
Project
Requirements
Ad-hock
Issues
Task
Assignment
Delivery
Need to deliver
Weekly
backlog review
Daily
standups
Product
Backlog
Acceptance
Criteria
Sprint
Backlog
Prototype Delivery
Product
Backlog
Product
BacklogProduct
Backlog
Sprint
Project Start
Kick-off meeting
Deļ¬ning Approach
Meeting Execs
Project Initiate
Business Cases
Project Controls
Risk Deļ¬nition
Project Control
Progress Monitoring
Project Delivery
Project ļ¬nalisation
Maintenance
Ongoing process
Project
Requirements
Ad-hock
Issues
Task
Assignment
Delivery
Delivery
Delivery ā€œeventā€
ā€¢ Off-hours release planning
ā€¢ Set up a maintenance page
ā€¢ Pre-release actions (backups, stopping crons, ā€¦)
ā€¢ Release checklist -> manual deployment
ā€¢ Post-release actions (crons, caches, ā€¦)
ā€¢ Removing maintenance page
ā€¢ Manually verify everything is working (old & new)
ā€¢ If lucky, going home for the night/morning
A nightmare
https://www.ļ¬‚ickr.com/photos/bernatcg/2231649285
Automation First
https://www.ļ¬‚ickr.com/photos/freefoto/5982549938
Computers are great at doing
repetitive task very well
Development
Source
Code
Static
Files
Database
Deltas
Platform
Monitoring Database
Storage Workers Caches
Web
Server
Infrastructure
Bare
Metal
Virtual
Machines
Cloud
Infrastructure
Bare
Metal
Virtual
Machines
Cloud
Infrastructure
https://www.gnu.org/graphics/heckert_gnu.small.png
Hosting Providers
On Premise
Cloud Solution Providers
A ā€œsimpleā€ architecture
Web Web
Proxy Proxy Proxy
DB Slave DB Slave DB Slave DB Slave
DB Master DB Master
NoSQL NoSQL NoSQL
0MQ
Mail
SharedIO
Web
Database
Are you ready?
Things get very complex very fast
https://www.ļ¬‚ickr.com/photos/mariano-mantel/9194344268
Platform
Monitoring Database
Storage Workers Caches
Web
Server
Automation tools
https://www.gnu.org/graphics/heckert_gnu.small.png
Why automate platform?
ā€¢ It should be optimised to run your application
ā€¢ Continuous updates and tweaks possible
ā€¢ Setting up your architecture in a consistent way
ā€¢ For production
ā€¢ For staging
ā€¢ For testing
ā€¢ For development
Choose wisely
https://www.ļ¬‚ickr.com/photos/keepitsurreal/6107919083
Give Docker a try
ā€¢ Requires no virtualisation software
ā€¢ Saves on resources!
ā€¢ Allows to set up a distributed architecture
ā€¢ Even for development purposes
ā€¢ Isolates processes in a container
ā€¢ Helps with securing infrastructure
Vagrant up
Monitoring Database
Storage Workers Caches
Web
Server
Development
Source
Code
Static
Files
Database
Deltas
SCM is a must!
FTP is not a SCM
Commit and push
https://www.ļ¬‚ickr.com/photos/mabi/38307124
Why CI?
ā€¢ Monitors continuously
ā€¢ Executes directly after change
ā€¢ Gives feedback
ā€¢ Has dashboards
ā€¢ Automate post-development
processes
https://www.ļ¬‚ickr.com/photos/amberandclint/3266859324
CI takes care of your code
Pre build steps!
- Stop crons, queues and workers
- Remove target from load balancer
Build steps!
- Check out new changes
- Run unit tests
- Provision target(s)
- Provision databases
Post build steps!
- Warm up caches
- Reactivate crons, queues and workers
- Add target back into loadbalancer
- Sent status out
Common CI systems
Online CI systems
The PHP Pipeline
https://www.ļ¬‚ickr.com/photos/mmmavocado/4597397875
Prioritise build steps
Unit tests Metrics
Provisioning
new target
Provisioning
databases
Provisioning
workers
Integration
tests
Promote
branch
CI
Stop execution at ļ¬rst fail
Unit tests Metrics
Provisioning
new target
Provisioning
databases
Provisioning
workers
Integration
tests
Promote
branch
CI
When good, promote!
Unit tests Metrics
Provisioning
new target
Provisioning
databases
Provisioning
workers
Integration
tests
Promote
branch
CI
Unit tests Metrics
Provisioning
new target
Provisioning
databases
Provisioning
workers
Integration
tests
Promote
branch
CI
Delivery vs Deployment
Source: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
Continuous Delivery
Build Feedback
Build Feedback
SCM
Commits SCM Change
Polling
Deployment Management
Dashboard
test
staging
production
Continuous Deployment
Build Feedback
Execute Delivery
SCM
Commits SCM Change
Polling
test
staging
production
All code is live!
Ā Ā Ā Ā ifĀ ($application->getFeature('myawesomefeature')->isComplete())Ā { "
!
Ā Ā Ā Ā Ā Ā Ā Ā //Ā HereĀ comesĀ theĀ newĀ featureĀ functionality "
!
Ā Ā Ā Ā }
Other usages
ā€¢ A/B Testing
ā€¢ Partial based roll-out (GeoLocation, Age, Gender)
ā€¢ SaaS premium features
ā€¢ Automated assisted training programs
ā€¢ Netļ¬‚ix Chaos Monkey Testing
ā€¢ See http://in2.se/nfchaosmonkey for details
ā€¢ Aprilā€™s fools day fun!
https://www.ļ¬‚ickr.com/photos/ihtatho/627226315
Beneļ¬ts
Failures do happen
Our tools
Our Stats
Total commits today 129
Total releases 118
Total failures 11
Total DB deployments 4
Average failure resolution time (minutes) 5
Average release time (minutes) 3
https://www.ļ¬‚ickr.com/photos/timypenburg/5172042007
Your turn now!
ā€¢ Automate everything thatā€™s not coding
ā€¢ Create repeatable, reliable processes
ā€¢ Fail as quickly as possible
ā€¢ If it hurts, do it more frequently
ā€¢ Communicate each step
ā€¢ Everyone is responsible!
ā€¢ Continuously improve
ā€¢ On your code
ā€¢ On your processes
Recommended Reading
in it2PROFESSIONAL PHP SERVICES
Michelangelo van Dam!
Zend Certiļ¬ed Engineer
PHP Consulting - Training - Quality Assurance
www.in2it.be | contact@in2it.be
https://www.ļ¬‚ickr.com/photos/56218409@N03/15371262455

More Related Content

What's hot

Automated Security Testing
Automated Security TestingAutomated Security Testing
Automated Security Testingseleniumconf
Ā 
EuroPython 2011 - How to build complex web applications having fun?
EuroPython 2011 - How to build complex web applications having fun?EuroPython 2011 - How to build complex web applications having fun?
EuroPython 2011 - How to build complex web applications having fun?Andrew Mleczko
Ā 
Releasing High Quality Packages - Longhorn PHP 2021
Releasing High Quality Packages - Longhorn PHP 2021Releasing High Quality Packages - Longhorn PHP 2021
Releasing High Quality Packages - Longhorn PHP 2021Colin O'Dell
Ā 
Alm with tfs 2013
Alm with tfs 2013Alm with tfs 2013
Alm with tfs 2013MSDEVMTL
Ā 
Laravel Dusk
Laravel DuskLaravel Dusk
Laravel Duskkingvish
Ā 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional testsAnkita Gupta
Ā 
Five Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteFive Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteMediacurrent
Ā 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScriptSimon Guest
Ā 
ColdBox Hierarchical MVC - Transform Your Monolith
ColdBox Hierarchical MVC - Transform Your MonolithColdBox Hierarchical MVC - Transform Your Monolith
ColdBox Hierarchical MVC - Transform Your MonolithOrtus Solutions, Corp
Ā 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8Rajwinder Singh
Ā 
Continuous Testing
Continuous TestingContinuous Testing
Continuous TestingKarim Fanadka
Ā 
Integrating SalesforceDX and Test Automation
Integrating SalesforceDX and Test AutomationIntegrating SalesforceDX and Test Automation
Integrating SalesforceDX and Test AutomationRichard Clark
Ā 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
Ā 
Jenkins as the Test Reporting Framework
Jenkins as the Test Reporting FrameworkJenkins as the Test Reporting Framework
Jenkins as the Test Reporting FrameworkNitin Sharma
Ā 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)Alvaro Sanchez-Mariscal
Ā 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
Ā 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!Michael Goetz
Ā 
ColdBox Hierarchical MVC for ColdFusion/CFML
ColdBox Hierarchical MVC for ColdFusion/CFMLColdBox Hierarchical MVC for ColdFusion/CFML
ColdBox Hierarchical MVC for ColdFusion/CFMLOrtus Solutions, Corp
Ā 

What's hot (20)

Automated Security Testing
Automated Security TestingAutomated Security Testing
Automated Security Testing
Ā 
EuroPython 2011 - How to build complex web applications having fun?
EuroPython 2011 - How to build complex web applications having fun?EuroPython 2011 - How to build complex web applications having fun?
EuroPython 2011 - How to build complex web applications having fun?
Ā 
Releasing High Quality Packages - Longhorn PHP 2021
Releasing High Quality Packages - Longhorn PHP 2021Releasing High Quality Packages - Longhorn PHP 2021
Releasing High Quality Packages - Longhorn PHP 2021
Ā 
Alm with tfs 2013
Alm with tfs 2013Alm with tfs 2013
Alm with tfs 2013
Ā 
Laravel Dusk
Laravel DuskLaravel Dusk
Laravel Dusk
Ā 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional tests
Ā 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
Ā 
Five Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteFive Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal Site
Ā 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
Ā 
ColdBox Hierarchical MVC - Transform Your Monolith
ColdBox Hierarchical MVC - Transform Your MonolithColdBox Hierarchical MVC - Transform Your Monolith
ColdBox Hierarchical MVC - Transform Your Monolith
Ā 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
Ā 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
Ā 
Integrating SalesforceDX and Test Automation
Integrating SalesforceDX and Test AutomationIntegrating SalesforceDX and Test Automation
Integrating SalesforceDX and Test Automation
Ā 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
Ā 
Jenkins as the Test Reporting Framework
Jenkins as the Test Reporting FrameworkJenkins as the Test Reporting Framework
Jenkins as the Test Reporting Framework
Ā 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
Ā 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Ā 
Selenium for Jobseekers
Selenium for JobseekersSelenium for Jobseekers
Selenium for Jobseekers
Ā 
Step away from that knife!
Step away from that knife!Step away from that knife!
Step away from that knife!
Ā 
ColdBox Hierarchical MVC for ColdFusion/CFML
ColdBox Hierarchical MVC for ColdFusion/CFMLColdBox Hierarchical MVC for ColdFusion/CFML
ColdBox Hierarchical MVC for ColdFusion/CFML
Ā 

Similar to The Continuous PHP Pipeline

Continuous validation of office 365
Continuous validation of office 365Continuous validation of office 365
Continuous validation of office 365Montrium
Ā 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationSebastian Marek
Ā 
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015Vimal Suba
Ā 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery AppliedExcella
Ā 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
Ā 
Quality management in continuous delivery and dev ops world pm footprints v1
Quality management in continuous delivery and dev ops world  pm footprints v1Quality management in continuous delivery and dev ops world  pm footprints v1
Quality management in continuous delivery and dev ops world pm footprints v1Dr. Anish Cheriyan (PhD)
Ā 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
Ā 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Mike McGarr
Ā 
BringTo (RPA) Automation Solution
BringTo (RPA) Automation SolutionBringTo (RPA) Automation Solution
BringTo (RPA) Automation SolutionAdam Wolff
Ā 
Quality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldQuality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldDr. Anish Cheriyan (PhD)
Ā 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Mike McGarr
Ā 
Ship code like a keptn
Ship code like a keptnShip code like a keptn
Ship code like a keptnRob Jahn
Ā 
DevOpsDays Rockies - Living in a Hybrid World
DevOpsDays Rockies - Living in a Hybrid WorldDevOpsDays Rockies - Living in a Hybrid World
DevOpsDays Rockies - Living in a Hybrid WorldCourtney Kissler
Ā 

Similar to The Continuous PHP Pipeline (20)

Key Factors To Ensure Test Automation Framework Success
Key Factors To Ensure Test Automation Framework SuccessKey Factors To Ensure Test Automation Framework Success
Key Factors To Ensure Test Automation Framework Success
Ā 
Continuous validation of office 365
Continuous validation of office 365Continuous validation of office 365
Continuous validation of office 365
Ā 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
Ā 
Agile & Wakanda
Agile & WakandaAgile & Wakanda
Agile & Wakanda
Ā 
The Best of MMS 2013
The Best of MMS 2013The Best of MMS 2013
The Best of MMS 2013
Ā 
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Ā 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
Ā 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
Ā 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
Ā 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
Ā 
Quality management in continuous delivery and dev ops world pm footprints v1
Quality management in continuous delivery and dev ops world  pm footprints v1Quality management in continuous delivery and dev ops world  pm footprints v1
Quality management in continuous delivery and dev ops world pm footprints v1
Ā 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
Ā 
Forward5 Auxis VMware
Forward5 Auxis VMwareForward5 Auxis VMware
Forward5 Auxis VMware
Ā 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
Ā 
BringTo (RPA) Automation Solution
BringTo (RPA) Automation SolutionBringTo (RPA) Automation Solution
BringTo (RPA) Automation Solution
Ā 
Quality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldQuality assurance in dev ops and secops world
Quality assurance in dev ops and secops world
Ā 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
Ā 
Ship code like a keptn
Ship code like a keptnShip code like a keptn
Ship code like a keptn
Ā 
System center seminar presentation
System center seminar presentationSystem center seminar presentation
System center seminar presentation
Ā 
DevOpsDays Rockies - Living in a Hybrid World
DevOpsDays Rockies - Living in a Hybrid WorldDevOpsDays Rockies - Living in a Hybrid World
DevOpsDays Rockies - Living in a Hybrid World
Ā 

More from Michelangelo van Dam

GDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultGDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultMichelangelo van Dam
Ā 
Moving from app services to azure functions
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functionsMichelangelo van Dam
Ā 
Let your tests drive your code
Let your tests drive your codeLet your tests drive your code
Let your tests drive your codeMichelangelo van Dam
Ā 
General Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyGeneral Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyMichelangelo van Dam
Ā 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageMichelangelo van Dam
Ā 
Open source for a successful business
Open source for a successful businessOpen source for a successful business
Open source for a successful businessMichelangelo van Dam
Ā 
Decouple your framework now, thank me later
Decouple your framework now, thank me laterDecouple your framework now, thank me later
Decouple your framework now, thank me laterMichelangelo van Dam
Ā 
Deploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesDeploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesMichelangelo van Dam
Ā 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heavenMichelangelo van Dam
Ā 
Getting hands dirty with php7
Getting hands dirty with php7Getting hands dirty with php7
Getting hands dirty with php7Michelangelo van Dam
Ā 
Zf2 how arrays will save your project
Zf2   how arrays will save your projectZf2   how arrays will save your project
Zf2 how arrays will save your projectMichelangelo van Dam
Ā 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsMichelangelo van Dam
Ā 
200K+ reasons security is a must
200K+ reasons security is a must200K+ reasons security is a must
200K+ reasons security is a mustMichelangelo van Dam
Ā 

More from Michelangelo van Dam (20)

GDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultGDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and default
Ā 
Moving from app services to azure functions
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functions
Ā 
Privacy by design
Privacy by designPrivacy by design
Privacy by design
Ā 
DevOps or DevSecOps
DevOps or DevSecOpsDevOps or DevSecOps
DevOps or DevSecOps
Ā 
Privacy by design
Privacy by designPrivacy by design
Privacy by design
Ā 
Continuous deployment 2.0
Continuous deployment 2.0Continuous deployment 2.0
Continuous deployment 2.0
Ā 
Let your tests drive your code
Let your tests drive your codeLet your tests drive your code
Let your tests drive your code
Ā 
General Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyGeneral Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's story
Ā 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantage
Ā 
The road to php 7.1
The road to php 7.1The road to php 7.1
The road to php 7.1
Ā 
Open source for a successful business
Open source for a successful businessOpen source for a successful business
Open source for a successful business
Ā 
Decouple your framework now, thank me later
Decouple your framework now, thank me laterDecouple your framework now, thank me later
Decouple your framework now, thank me later
Ā 
Deploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesDeploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutes
Ā 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heaven
Ā 
Getting hands dirty with php7
Getting hands dirty with php7Getting hands dirty with php7
Getting hands dirty with php7
Ā 
Zf2 how arrays will save your project
Zf2   how arrays will save your projectZf2   how arrays will save your project
Zf2 how arrays will save your project
Ā 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the tests
Ā 
Your code are my tests
Your code are my testsYour code are my tests
Your code are my tests
Ā 
200K+ reasons security is a must
200K+ reasons security is a must200K+ reasons security is a must
200K+ reasons security is a must
Ā 
QA for PHP projects
QA for PHP projectsQA for PHP projects
QA for PHP projects
Ā 

Recently uploaded

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
Ā 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
Ā 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
Ā 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxPurva Nikam
Ā 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
Ā 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
Ā 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
Ā 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
Ā 
Study on Air-Water & Water-Water Heat Exchange in a Finned ļ»æTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ļ»æTube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned ļ»æTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ļ»æTube ExchangerAnamika Sarkar
Ā 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoĆ£o Esperancinha
Ā 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
Ā 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
Ā 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
Ā 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
Ā 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
Ā 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
Ā 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
Ā 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
Ā 

Recently uploaded (20)

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
Ā 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Ā 
young call girls in Green ParkšŸ” 9953056974 šŸ” escort Service
young call girls in Green ParkšŸ” 9953056974 šŸ” escort Serviceyoung call girls in Green ParkšŸ” 9953056974 šŸ” escort Service
young call girls in Green ParkšŸ” 9953056974 šŸ” escort Service
Ā 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
Ā 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
Ā 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
Ā 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
Ā 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
Ā 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
Ā 
Study on Air-Water & Water-Water Heat Exchange in a Finned ļ»æTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ļ»æTube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned ļ»æTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ļ»æTube Exchanger
Ā 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Ā 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
Ā 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
Ā 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
Ā 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Ā 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
Ā 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
Ā 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
Ā 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
Ā 
young call girls in Rajiv ChowkšŸ” 9953056974 šŸ” Delhi escort Service
young call girls in Rajiv ChowkšŸ” 9953056974 šŸ” Delhi escort Serviceyoung call girls in Rajiv ChowkšŸ” 9953056974 šŸ” Delhi escort Service
young call girls in Rajiv ChowkšŸ” 9953056974 šŸ” Delhi escort Service
Ā 

The Continuous PHP Pipeline