SlideShare a Scribd company logo
Continous delivery pipeline
for Symfony2 projects with
Jenkins and Chef
Michał Dąbrowski
http://github.com/defrag
PHPers Kraków 10/07/2014
Continous delivery with Jenkins and Chef
Most common anwser?
Most common anwser?
Should be done
Most common anwser?
Should be done
„Continuous delivery (CD) is a set of
processes, tools and techniques for the
rapid, reliable and continuous
development and delivery of software.”
What is continous
delivery?
Our highest priority is to satisfy the
customer!
through early and continuous delivery!
of valuable software.
Agile manifesto #1
done === released
What is done in
Continous Delivery?
Why?
increase quality
reduce cost
reduct risk
make customer happy
delivery production ready software
act on feedback
Quality comes first
Building blocks from
practical view
Continous Integration
Release automation
Infrastructure automation
Monitoring
CI & Deployment
pipeline
Typical development
workflow
Fork a repo
Typical development
workflow
Submit pull request
Typical development
workflow
Trigger build process on PR
Typical development
workflow
Code review
Typical development
workflow
Merge into master
Typical development
workflow
Trigger build on master branch
Typical development
workflow
Result of build is Release Candidate!
(not every RC is deployed)
How do we get
there?
Start with Jenkins
Create new project
Set up your build
process
Set up your build
process
<target name="configure">
<echo>Downloading dependencies using composer.</echo>
<exec executable="/bin/bash" failonerror="true" dir=„.">
<arg value="/usr/bin/composer install —no-interaction —prefer-dist" />!
</exec>
!
<echo>Dumping prod assets.</echo>
<exec executable="/bin/bash" failonerror="true">
<arg value="-c" />
<arg value="${basedir}/bin/console assetic:dump --env=prod --no-debug" />!
</exec>
!
<echo>Ensuring empty cache and logs directories.</echo>
<delete includeemptydirs="true" verbose="false" failonerror="true" dir="${basedir}/var/cache" />!
<delete includeemptydirs="true" verbose="false" failonerror="true" dir="${basedir}/var/logs" />!
<mkdir dir="${basedir}/var/cache" />!
<mkdir dir="${basedir}/var/logs" />
</target>
Run your unit tests
Run your unit tests
<target name=„phpspec" description="Run tests with PHPSpec">
<exec executable="/bin/bash" failonerror="true">
<arg value="-c" />
<arg value="${basedir}/bin/phpspec run" />
</exec>
</target>
<target name="build-unit">
<property file="build.ci.properties" />
<antcall target="phpspec" /> !
<antcall target="jasmine" />
<echo>Unit test build pass.</echo>
</target>
Run your acceptance
tests
Run your acceptance
tests
<target name=„behat" description=„Run acceptance tests with Behat">
<exec executable="/bin/bash" failonerror="true">
<arg value="-c" />
<arg value="${basedir}/bin/behat —format progress" />!
</exec>
</target>
<target name="build-acceptance">
<property file="build.ci.properties" />
<antcall target="behat" /> !
<echo>Acceptance test build pass.</echo>
</target>
Create package out
of build result
• tarball!
• rpm!
• deb!
• etc.
Create package out
of build result
Visualize your process
with build pipeline
Stop
Deploy time
Not only application
Deliver your configuration in automated fashion
Build pipeline
revisited
manualauto
Quick Chef overview
Make jenkins talk to
your chef server
knife ec2 server create!
knife bootstrap!
knife ssh!
…
Make jenkins talk to
your chef server
Deploy app
capistrano, fabric, knife plugin etc
Chose the one that
works for you
Dead simple with
Fabric and pychef
@roles('web')!
def deploy():
…
Dead simple with
Fabric and pychef
fab env:staging deploy:25
Dead simple with
Fabric and pychef
fab env:staging deploy:25
chef environment build no.
Demo
Wrapping up
Benefits
speed of delivery
quality
cost reduction
ability to respond to feedback quickly
adapt to change
Thank you

More Related Content

PPTX
Jenkins and Chef: Infrastructure CI and Automated Deployment
PPTX
Testing for infra code using test-kitchen,docker,chef
PPTX
CLUG 2014-10 - Cookbook CI with Jenkins
PDF
Test Driven Development with Chef
PDF
Automating your infrastructure with Chef
PPT
Chef, Devops, and You
PPTX
Chef Cookbook Design Patterns
PDF
Server Installation and Configuration with Chef
Jenkins and Chef: Infrastructure CI and Automated Deployment
Testing for infra code using test-kitchen,docker,chef
CLUG 2014-10 - Cookbook CI with Jenkins
Test Driven Development with Chef
Automating your infrastructure with Chef
Chef, Devops, and You
Chef Cookbook Design Patterns
Server Installation and Configuration with Chef

What's hot (20)

PDF
Infrastructure Automation with Chef
PDF
Introduction to Chef
PDF
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
PPTX
Introduction to chef
PDF
Testable Infrastructure with Chef, Test Kitchen, and Docker
PDF
The unintended benefits of Chef
PPTX
How to Write Chef Cookbook
PDF
Learn How Selenium And Jenkins Fit In DevOps | Edureka Live
PDF
Growing Pains with Chef – a Tale of DevOps in a Large Organization
PDF
Codecoon - A technical Case Study
PDF
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
PDF
Let’s start Continuous Integration with jenkins
PPTX
Chef for DevOps - an Introduction
PDF
Learning chef
PDF
Brujug Jenkins pipeline scalability
PPTX
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
ODP
Introduction to Chef
PDF
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
PDF
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
PPTX
Chef and PowerShell Desired State Configuration
Infrastructure Automation with Chef
Introduction to Chef
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to chef
Testable Infrastructure with Chef, Test Kitchen, and Docker
The unintended benefits of Chef
How to Write Chef Cookbook
Learn How Selenium And Jenkins Fit In DevOps | Edureka Live
Growing Pains with Chef – a Tale of DevOps in a Large Organization
Codecoon - A technical Case Study
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Let’s start Continuous Integration with jenkins
Chef for DevOps - an Introduction
Learning chef
Brujug Jenkins pipeline scalability
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Introduction to Chef
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Chef and PowerShell Desired State Configuration
Ad

Similar to Continous delivery with Jenkins and Chef (20)

PPTX
Symfony under control. Continuous Integration and Automated Deployments in Sy...
PPTX
Symfony Under Control by Maxim Romanovsky
PDF
Makefiles in 2020 — Why they still matter
PDF
Continuous Integration at Mollie
PDF
Building a CI/CD Pipeline for PHP apps
PDF
Continuous Integration/Deployment with Docker and Jenkins
PDF
Chef for the Symfony developer
PPTX
Devops CI-CD pipeline with Containers
PDF
Build & deploy PHP application (intro level)
PDF
Groovy there's a docker in my application pipeline
PDF
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
PPTX
Supermondays: Jenkins CI lightning talk
PDF
One commit, one release. Continuously delivering a Symfony project.
PDF
Using Docker in CI process
PDF
Cfg mgmtcamp c-dwithchef
PDF
Continous Delivering a PHP application
PDF
ci cd presentation What is CI/CD?Continuous Integration
PPTX
Symfony 2 under control
PDF
Magento Continuous Integration & Continuous Delivery @MM17HR
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony Under Control by Maxim Romanovsky
Makefiles in 2020 — Why they still matter
Continuous Integration at Mollie
Building a CI/CD Pipeline for PHP apps
Continuous Integration/Deployment with Docker and Jenkins
Chef for the Symfony developer
Devops CI-CD pipeline with Containers
Build & deploy PHP application (intro level)
Groovy there's a docker in my application pipeline
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
Supermondays: Jenkins CI lightning talk
One commit, one release. Continuously delivering a Symfony project.
Using Docker in CI process
Cfg mgmtcamp c-dwithchef
Continous Delivering a PHP application
ci cd presentation What is CI/CD?Continuous Integration
Symfony 2 under control
Magento Continuous Integration & Continuous Delivery @MM17HR
Ad

Recently uploaded (20)

PDF
iTop VPN Crack Latest Version Full Key 2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Cost to Outsource Software Development in 2025
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
PDF
Designing Intelligence for the Shop Floor.pdf
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Download FL Studio Crack Latest version 2025 ?
iTop VPN Crack Latest Version Full Key 2025
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Operating system designcfffgfgggggggvggggggggg
Cost to Outsource Software Development in 2025
17 Powerful Integrations Your Next-Gen MLM Software Needs
Navsoft: AI-Powered Business Solutions & Custom Software Development
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Wondershare Filmora 15 Crack With Activation Key [2025
wealthsignaloriginal-com-DS-text-... (1).pdf
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Design an Analysis of Algorithms I-SECS-1021-03
Advanced SystemCare Ultimate Crack + Portable (2025)
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
Designing Intelligence for the Shop Floor.pdf
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Download FL Studio Crack Latest version 2025 ?

Continous delivery with Jenkins and Chef