continuous integration with drupal

14

Upload: ilia-ivanov

Post on 28-Jan-2018

313 views

Category:

Internet


2 download

TRANSCRIPT

Using Jenkins CI in Drupal projects

Psss… Need some continuous integration?

Who are you man?Hi! My name is Ilia! Nice to meet you! ;)

● 29 yo● Backend developer at Wunderkraut● 5 years experience with PHP, 3 of them with drupal● PHP certified engineer● Fan of extreme sports: snowboarding, skydiving

@elijah_ee, e-development.org

Meet Jenkins!● Jenkins was originally developed as the Hudson project● Hudson as well continuous intergation tool● Hudson's creation started in summer of 2004 at Sun

Microsystems● January 29, 2011 - creation of the Jenkins project● Continuous integration tool written in Java● Allows automated testing, building, deployment...● Best choice for agile projects

WunderFlow: branching

That’s how we manage branches…@see: http://wunderkraut.github.io/WunderFlow/

Continuous integrationContinuous Integration (CI) is a

development practice that requires developers to integrate code into a shared repository (develop branch) several times a day. Each check-in

is then verified by an automated build, allowing teams to detect

problems early.

Continuous delivery➔ Extends continuous integration➔ Deliver frequently➔ Latest changes from develop

branch are merged into master branch and tagged

➔ Changes are delivered to the staging server for QA◆ Tests can’t cover everything◆ Design issues◆ ...

➔ Changes merged to the production branch

Continuous Deployment➔ Perfect project workflow!➔ Merged changes are

automatically delivered to the production server

➔ Can’t be used in every project◆ Depends on project type◆ Client’s requirements◆ Access to production server

might not be granted at all

Usage in agile projects

Jenkins and DrupalGood stack! Works much better if using things like:❖ Features❖ Profiles❖ .make files

Building❖ Phing tasks❖ bash scripts❖ ...

Pros and consWe don’t need that weirdo guy!❖ Saves a lot of time spent on testing and delivering code❖ Once configured will work continuously ❖ Allows a lot of stuff to be done automatically❖ Agile friendly❖ Less bugs in code -> Client happy❖ Next step to be more professional company delivering

better quality to clients!