SlideShare a Scribd company logo
10 tips for
continuous
integration
DrupalSouth Auckland
17 Nov 2017
Hello
My name is...
Vladimir Roudakov
Brisbane, Australia
Automation /
Development /
Training
@VladimirAus
Audience
Agenda
● CI/CD
● Services
● Preparation
● 10 tips
● More...
Continuous
Integration
● development practice
● periodic commits to
shared repository
● can be verified by an
automated build
Continuous
Integration
GOAL
detect problems early
Continuous Delivery
● approach
● teams produce
software in short cycles
Continuous Delivery
GOAL
the software can be reliably
released at any time
Services
● Code GIT repository
● CI runner
Code GIT repository
CI RunnerServices
What to know
more?
Disclaimer
Praparation
Services
Praparation
Services
Praparation
Images
● Operating system
● Official images on
Docker hub
● Custom images
Praparation
Variables
● Name your variables
accordingly
● Secure if possible
Praparation
Cache
● Sharing between
images
● File sharing
● Database sharing
Praparation
Dependencies
● composer
● npm
Praparation
Services
● Database
● Testing
● Others?
1. Renewals
● Certificates
● Subscriptions
● Renewals
1. Certificates
1. Certificates
1. Certificates
2. Linting
Standard
● PHP Code sniffer
● ES / Javascript linting
● SASS Lint / CSS lint
10 tips for continuous integration
10 tips for continuous integration
10 tips for continuous integration
2. Linting
Additional
● D8 configuration
● Naming conventions
● Shell configuration
3. Code Quality
● Complexity
● Violations
3. Code Quality
3. Code Quality
10 tips for continuous integration
3. Code Quality
4. Unit testing
● PHPUnit was added to
Drupal 8
● SimpleTest is still
supported but is
deprecated
10 tips for continuous integration
What to know
more?
5. Drupal Installation
● Test profile installation
● Test db update
● Test config update
● Test dependencies
● Test core update
● Test modules update
Make sure your profile +
modules configuration still
works
10 tips for continuous integration
10 tips for continuous integration
6. End to end testing
● User like testing
● Selenium based stack
● Mimics user
● Based on user story
● Provides
comprehensive report
● Run one test / all /
conditional
10 tips for continuous integration
10 tips for continuous integration
10 tips for continuous integration
What to know
more?WordCamp Brisbane 2017
https://2017.brisbane.wordcamp.org/session/testi
ng-any-day-guide-to-end-to-end-test-driven-word
press-projects/
7. Updates
● Environment update
● OS
● PHP / Apache / MySQL
● Drupal Updates
● TIP: Fail on security
updates
● Composer Updates
10 tips for continuous integration
8. Notifications
● Email
● Chat
● Issue tracker
10 tips for continuous integration
9. Artefacts
Logs
● Logs
● Release notes
● Test Reports
10 tips for continuous integration
10 tips for continuous integration
9. Artefacts
Release notes
● Logs
● Release notes
● Test Reports
10 tips for continuous integration
10 tips for continuous integration
9. Artefacts
Test reports
● Logs
● Release notes
● Test Reports
10 tips for continuous integration
What to know
more?
10. Deployment
● Push to your
environment
● Spin off new
environment
10 tips for continuous integration
10 tips for continuous integration
Consideration
● Security
● Cache
● Limitations
Consideration
Security
● Keep keys private
● Don’t check in
passwords
What to know
more?
In conclusion
GOALS
CI: detect problems early
CD: the software can be
reliably released at any
time
Save time
Go automate!
Questions?
Hustle me
Vladimir Roudakov
vladimir@tomato-elephant-studio.com
@VladimirAus
References
● https://en.wikipedia.org/wiki/Continuous_delivery
● http://www.phpmetrics.org/
● https://phpunit.de/
● https://codeclimate.com/
● https://medium.com/netflix-techblog/developer-experience-lessons-oper
ating-a-serverless-like-platform-at-netflix-a8bbd5b899a0
● https://www.drupal.org/docs/8/phpunit/running-phpunit-tests
Services
● https://gitlab.com/
● https://bitbucket.org/product/features/pipelines
● https://docs.acquia.com/acquia-cloud/cd/pipelines
● http://try.drone.io/
● https://circleci.com/
● https://codeship.com/
● https://github.com/
● https://travis-ci.org/
● https://aws.amazon.com/devops/continuous-delivery/
● https://papertrailapp.com/
● https://www.sumologic.com/

More Related Content

What's hot (20)

PPTX
An introduction to Node.js application development
shelloidhq
 
PDF
Opensource pnp container based waf
Varun konadagadapa
 
PDF
Nuxeo World Session: Building Packages for the Nuxeo Marketplace
Nuxeo
 
PPTX
#2 Hanoi Magento Meetup - Part 2: Knockout JS
Hanoi MagentoMeetup
 
PDF
PHP Conference Brasil 2013 - Virtualização e Provisionamento de Ambientes c...
Lucas Arruda
 
PPTX
Ahmadabad mule soft_meetup_05june2021_mule4_automate mulesoft on prem servers...
Shekh Muenuddeen
 
PDF
Best practises for HTML5 servers (Devaamo Summit 2012)
Otto Kekäläinen
 
PDF
Nuxeo World Session: Scaling Nuxeo Applications
Nuxeo
 
PDF
TDD with Spock @xpdays_ua
Izzet Mustafaiev
 
KEY
Introducing Apricot, The Eclipse Content Management Platform
Nuxeo
 
DOCX
GUNA_CV
GUNA SEKAR
 
PDF
OpenCms Days 2014 Keynote - Step up to OpenCms 9.5
Alkacon Software GmbH & Co. KG
 
PDF
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
Bartosz Ratajczyk
 
ODP
What grunt?
Lucio Martinez
 
ODP
Selenium cloud
itkosmopolit
 
PDF
NodeSummit - MEAN Stack
Valeri Karpov
 
PPTX
Introduction to React
Quentin Leonetti
 
PDF
IoT and developer chances
Chau Thanh
 
PPTX
TDD with Python and App Engine
Ricardo Bánffy
 
PDF
네이버 오픈세미나 백엔드_아키텍쳐
NAVER D2
 
An introduction to Node.js application development
shelloidhq
 
Opensource pnp container based waf
Varun konadagadapa
 
Nuxeo World Session: Building Packages for the Nuxeo Marketplace
Nuxeo
 
#2 Hanoi Magento Meetup - Part 2: Knockout JS
Hanoi MagentoMeetup
 
PHP Conference Brasil 2013 - Virtualização e Provisionamento de Ambientes c...
Lucas Arruda
 
Ahmadabad mule soft_meetup_05june2021_mule4_automate mulesoft on prem servers...
Shekh Muenuddeen
 
Best practises for HTML5 servers (Devaamo Summit 2012)
Otto Kekäläinen
 
Nuxeo World Session: Scaling Nuxeo Applications
Nuxeo
 
TDD with Spock @xpdays_ua
Izzet Mustafaiev
 
Introducing Apricot, The Eclipse Content Management Platform
Nuxeo
 
GUNA_CV
GUNA SEKAR
 
OpenCms Days 2014 Keynote - Step up to OpenCms 9.5
Alkacon Software GmbH & Co. KG
 
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
Bartosz Ratajczyk
 
What grunt?
Lucio Martinez
 
Selenium cloud
itkosmopolit
 
NodeSummit - MEAN Stack
Valeri Karpov
 
Introduction to React
Quentin Leonetti
 
IoT and developer chances
Chau Thanh
 
TDD with Python and App Engine
Ricardo Bánffy
 
네이버 오픈세미나 백엔드_아키텍쳐
NAVER D2
 

Similar to 10 tips for continuous integration (20)

PDF
What is Continuous Integration_ - A Comprehensive Guide.pdf
kalichargn70th171
 
PDF
Flight East 2018 Presentation–Continuous Integration––An Overview
Synopsys Software Integrity Group
 
PDF
Continuous Integration Introduction
Fáber D. Giraldo
 
PPTX
Testing in the new age of DevOps
Moataz Mahmoud
 
PPTX
Lets talk about CI CD Pipeline in Agile
Poonam Panday
 
PDF
Quickstart for continuous integration
Fabricio Epaminondas
 
PDF
Drupal Continuous Integration and devops - Beyond Jenkins
Promet Source
 
PPTX
Continuous Integrations & Deployments
Shinu Suresh
 
PDF
Introduction to Continuous Integration
Hùng Nguyễn Huy
 
PPTX
Continuous integration for se group meeting
Sergii Shmarkatiuk
 
PPTX
CI, CD -Tools to integrate without manual intervention
ajayrajaganeshkayala
 
PPTX
Rising Above the Noise: Continuous Integration, Delivery and DevOps
IBM UrbanCode Products
 
PDF
CI/CD (DevOps) 101
Hazzim Anaya
 
PPTX
Tester’s considerations when moving towards successful CI/CD
Derk-Jan de Grood
 
PPT
Continuous Integration
Joseph Wang
 
PDF
Delivering Quality Software with Continuous Integration
Aspire Systems
 
PPTX
Continuous Integration for Mobile App Testing
Martin Smith
 
PPTX
Continuous Integration for Mobile App Testing
Infostretch
 
PDF
GitOps , done Right
Kris Buytaert
 
What is Continuous Integration_ - A Comprehensive Guide.pdf
kalichargn70th171
 
Flight East 2018 Presentation–Continuous Integration––An Overview
Synopsys Software Integrity Group
 
Continuous Integration Introduction
Fáber D. Giraldo
 
Testing in the new age of DevOps
Moataz Mahmoud
 
Lets talk about CI CD Pipeline in Agile
Poonam Panday
 
Quickstart for continuous integration
Fabricio Epaminondas
 
Drupal Continuous Integration and devops - Beyond Jenkins
Promet Source
 
Continuous Integrations & Deployments
Shinu Suresh
 
Introduction to Continuous Integration
Hùng Nguyễn Huy
 
Continuous integration for se group meeting
Sergii Shmarkatiuk
 
CI, CD -Tools to integrate without manual intervention
ajayrajaganeshkayala
 
Rising Above the Noise: Continuous Integration, Delivery and DevOps
IBM UrbanCode Products
 
CI/CD (DevOps) 101
Hazzim Anaya
 
Tester’s considerations when moving towards successful CI/CD
Derk-Jan de Grood
 
Continuous Integration
Joseph Wang
 
Delivering Quality Software with Continuous Integration
Aspire Systems
 
Continuous Integration for Mobile App Testing
Martin Smith
 
Continuous Integration for Mobile App Testing
Infostretch
 
GitOps , done Right
Kris Buytaert
 
Ad

More from Vladimir Roudakov (20)

PDF
What's new in Drupal 8.7 (Brisbane Drupal Meetup Brisbane)
Vladimir Roudakov
 
PDF
Gitlab for JS developers (BrisJs meetup, 2019-Apr-01)
Vladimir Roudakov
 
PDF
Gitlab for PHP developers (Brisbane PHP meetup, 2019-Jan-29)
Vladimir Roudakov
 
PDF
Bootstrap 4: what's new, using in Drupal, Bootstrap and php, Bootstrap tools
Vladimir Roudakov
 
PDF
Drupal Brisbane Meetup :: Drupal in late 2017-2018
Vladimir Roudakov
 
PDF
Testing any day: guide to end to end test driven WordPress projects
Vladimir Roudakov
 
PDF
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
Vladimir Roudakov
 
PDF
DrupalCon Dublin 2016 - Automated browser testing with Nightwatch.js
Vladimir Roudakov
 
PDF
20160905 - BrisJS - nightwatch testing
Vladimir Roudakov
 
PDF
Brisbane Drupal meetup 2016 Apr - whats new in Drupal 8.1
Vladimir Roudakov
 
PDF
Brisbane Drupal meetup - 2016 Mar - Build module in Drupal 8
Vladimir Roudakov
 
PDF
Brisbane Drupal meetup - 2016 Jan - Drupal hostings
Vladimir Roudakov
 
PDF
Bootstrap. December 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
PDF
DrupalCamp Melbourne 2015. Bootstrap: framework and theme.
Vladimir Roudakov
 
PDF
Drupal 8 update. November 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
PDF
Drupal 8 update. June 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
PDF
Drupal 8 update. May 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
PDF
Drupal 8 update. March 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
PDF
Drupal 8 update. November 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
PDF
Drupal LMS. February 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
What's new in Drupal 8.7 (Brisbane Drupal Meetup Brisbane)
Vladimir Roudakov
 
Gitlab for JS developers (BrisJs meetup, 2019-Apr-01)
Vladimir Roudakov
 
Gitlab for PHP developers (Brisbane PHP meetup, 2019-Jan-29)
Vladimir Roudakov
 
Bootstrap 4: what's new, using in Drupal, Bootstrap and php, Bootstrap tools
Vladimir Roudakov
 
Drupal Brisbane Meetup :: Drupal in late 2017-2018
Vladimir Roudakov
 
Testing any day: guide to end to end test driven WordPress projects
Vladimir Roudakov
 
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
Vladimir Roudakov
 
DrupalCon Dublin 2016 - Automated browser testing with Nightwatch.js
Vladimir Roudakov
 
20160905 - BrisJS - nightwatch testing
Vladimir Roudakov
 
Brisbane Drupal meetup 2016 Apr - whats new in Drupal 8.1
Vladimir Roudakov
 
Brisbane Drupal meetup - 2016 Mar - Build module in Drupal 8
Vladimir Roudakov
 
Brisbane Drupal meetup - 2016 Jan - Drupal hostings
Vladimir Roudakov
 
Bootstrap. December 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
DrupalCamp Melbourne 2015. Bootstrap: framework and theme.
Vladimir Roudakov
 
Drupal 8 update. November 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
Drupal 8 update. June 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
Drupal 8 update. May 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
Drupal 8 update. March 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
Drupal 8 update. November 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
Drupal LMS. February 2015 [Brisbane Drupal meetup]
Vladimir Roudakov
 
Ad

Recently uploaded (20)

PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 

10 tips for continuous integration