DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction



Similar documents
jenkins, drupal & testing automating every phing! miggle

Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014

Continuous Integration and Delivery at NSIDC

Achieving Continuous Integration with Drupal

Continuous Integration

Continuous Integration (CI)

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Streamline your drupal development workflow in a 3-tier-environment - A story about drush make and drush aliases

Workflows and Patterns. #jenkinsconf

Making Leaders Successful Every Day Forrester Research, Inc. Reproduction Prohibited

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Continuous Integration

The Importance of Continuous Integration for Quality Assurance Teams

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

How To Manage A Multi Site In Drupal

Software configuration management

Database Build and Release will get started soon

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

ALM: Continuous Integration. José Almeida, Microsoft

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.

TEST AUTOMATION FRAMEWORK

The care of open source creatures. Vincent Sanders

Improving your Drupal Development workflow with Continuous Integration

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Software Configuration Management and Continuous Integration

Continuous Delivery. Alejandro Ruiz

Mastering Continuous Integration with Jenkins

Implementing Continuous Integration Testing Prepared by:

Git - Working with Remote Repositories

Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.

How to set up SQL Source Control. The short guide for evaluators

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)

Features-Based Deployment

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software

Drupalcamp Vienna 2009

StriderCD Book. Release 1.4. Niall O Higgins

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

DEPLOYING DRUPAL USING CAPISTRANO

E-vote 2011 Version: 1.0 Testing and Approval Date: 26/10/2009. E-vote SSA-U Appendix 5 Testing and Approval Project: E-vote 2011

You ll need to have: It d be great if you have:

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

CONTINUOUS INTEGRATION

Global Software Change Management for PVCS Version Manager

Continuous Delivery. Martin Fowler, Jez Humble YOW! Brisbane, 5 December Wednesday, December 7, 11

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

Continuous integration for databases using Red Gate tools

Continuous Integration on System z

Continuous Delivery for Force.com

Brakeman and Jenkins: The Duo Detects Defects in Ruby on Rails Code

Continuous Integration Multi-Stage Builds for Quality Assurance

Continuous Integration in Kieker

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Continuous Integration Build-Test-Delivery (CI-BTD) Framework in compliance with ISO26262

Solving Business Pains with SQL Server Integration Services. SQL Server 2005 / 2008

DevOps Course Content

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Simple and powerful site deployment with capistrano

INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC

Fundamentals of Continuous Integration

Release Notes for Patch Release #2614

DevShop. Drupal Infrastructure in a Box. Jon Pugh CEO, Founder ThinkDrop Consulting Brooklyn NY

AUDITING A DRUPAL 7 WEB SITE - OUR METHODOLOGY.

Build management & Continuous integration. with Maven & Hudson

AVOIDING THE GIT OF DESPAIR

Managed Web Hosting & Application Maintenance Package

Continuous Delivery Workshop

SOA-14: Continuous Integration in SOA Projects Andreas Gies

Continuous integration for databases using

Version Control Your Jenkins Jobs with Jenkins Job Builder

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

About Me Developer Workspaces Enable Agile Teams

Continuous Integration. CSC 440: Software Engineering Slide #1

Delivering Quality Software with Continuous Integration

Software Engineering Process. Kevin Cathey

SAS in clinical trials A relook at project management,

SOFTWARE DEVELOPMENT BASICS SED

Continuous Integration: A case study

Git Branching for Continuous Delivery

D83167 Oracle Data Integrator 12c: Integration and Administration

Mobile Development with Git, Gerrit & Jenkins

Zero-Touch Drupal Deployment

Hudson Continous Integration Server. Stefan Saasen,

Continuous integration for databases using Redgate tools

Integrating CA Software Change Management with CA Service Desk Manager for Enterprise Change Control

Web Developer Toolkit for IBM Digital Experience

Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc.

How To Fix A Bug In Drupal 8.Dev

Continuous Integration Processes and SCM To Support Test Automation

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

Continuous Integration

Break It Before You Buy It!

CI Pipeline with Docker

Source Control Systems

Continuous Integration: Put it at the heart of your development

Servers. Servers. NAT Public Subnet: /20. Internet Gateway. VPC Gateway VPC: /16

Software Construction

Git. A Distributed Version Control System. Carlos García Campos carlosgc@gsyc.es

Transcription:

DRUPAL CONTINUOUS INTEGRATION Part I - Introduction

Continuous Integration is a software development practice where members of a team integrate work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including tests) to detect integration errors as quickly as possible. Martin Fowler

ADVANTAGES automating repetitive tasks such as build, QA and deploy fast and frequent integrations quick feedback loop ability to deploy quickly and keep track of every released set of code

BUILD PROCESS runs config logs FAIL developer commits revision control triggers CI server runs static analysis logs report runs logs SUCCESS unit tests deploy FAIL report log functional tests SUCCESS

TOOLS SCM: git, svn, cvs, CI SERVER: jenkins BUILD TOOL: phing DRUPAL AUTOMATION: drush DEPENDENCIES MANAGEMENT: drush make & composer DRUPAL CDD TOOLS: features & migrate TESTING: PHPUnit & Behat

DRUPAL - I Drupal, contrary to classic frameworks, does not make it easy to setup and maintain a Continuous Integration cycle due to the high coupling between data and configuration within its database.

DRUPAL - II To overcome this problem it s necessary to adopt a strictly controlled, disciplined work methodology and to make use of a set of tools that allow us to transform configuration into code, to easily deal with content and to incrementally update database s schema.

WORKFLOW - I A developer s workflow consist not only in the plain old features implementation, but also in the correct, precise and complete export of all the element of configuration that are necessary to rebuild the functionalities on several environments.! Key modules: Features and Strongarm.

WORKFLOW - II It s often necessary to setup some default content that may vary during development and that might be expanded or updated once the site has been published. It s therefore necessary to formalise in code all the data import procedures in order to better administrate them and to be able to replicate them at any given time.! Key module: Migrate.

WORKFLOW - III As soon as a self-contained task such a bug-fix or a new feature implementation has been completed, it s necessary to commit and push that unity of work to the central repository in order to integrate, test and deploy it automatically on the development environment.! Key tools: git/svn.

WORKFLOW - IV Writing automated tests during development is not only considered a good practice but also a necessity in order to verify the behaviour of a given implementation and to make sure that future changes -especially when made from other people- won t break the work already done, creating regressions e dealing potential damage to users and clients.! Key tools: PHPUnit, Behat.

Q & A

EXERCISES 1. What are the main advantages of a Continuous Integration system? 2. When do Unit Tests are executed during the build? How about functional? Why are they executed at different times? 3. Why is it important to write tests? 4. Which benefits come from using a Source Control Management system? 5. Why is Drupal so hard -compared to other tools such as classic frameworks- to use in Continuous Integration environments? 6. Which tools allow Drupal to be successfully used in a Continuous Integration development cycle?