Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Setting Up A Travis Continuous Integration Envi...

Setting Up A Travis Continuous Integration Environment For Your Drupal Module

This session will focus on the use and benefits of a continous integration environment. We will walk through how to set up a continuous integration environment for a Drupal project using the hosted service called Travis-CI.

The demo repos associated to this presentation are:

https://github.com/dkinzer/droplet
https://github.com/dkinzer/gush

David Kinzer

October 11, 2013
Tweet

More Decks by David Kinzer

Other Decks in Programming

Transcript

  1. OVERVIEW OF PRESENTATION • A little about CI/CD. • Demo:

    Configure Travis-CI for a Drupal module project using Pull Request strategy. • Demo: Describe and show Travis integration with OpenShift Drupal project. • A little on the near future of deployment. • Q & A
  2. FIRST LET’S REVIEW A TYPICAL WORKFLOW. 1. Issues. 2. Developing

    code and adding features or fixes. 3. Testing and staging. 4. Merging accepted features. 5. Deploying changes.
  3. WHAT IS CONTINUOUS INTEGRATION? • It all boils down to

    automating as much as possible. • Things like testing, linting, building, deploying. • There is a lot to consider. • But this talk will mostly deal with automated testing in the framework of CI.
  4. WHY CONTINUOUS INTEGRATION IS IMPORTANT • Helps coordinate efforts between

    multiple developers. • Better understanding of your application stack. • Reduces stress associated to not knowing. • Make merging fun.
  5. TRAVIS-CI: CONTINUOUS INTEGRATION SERVICE FOR GITHUB PROJECTS • Your project

    needs to be on GitHub.. • Travis-CI lowers the bar for getting started in this world. • Travis-CI and GitHub are cool. • Travis-CI does not give you as much control as Jenkins-CI. But that just means less headaches.
  6. TRAVIS CI IS A GOOD WAY TO GET STARTED •

    Baby step • Travis-CI is an easier way to get started in this world compared with JenkinsCI.
  7. DRUPAL MODULES VS. DRUPAL PROJECTS • Simply, Drupal projects will

    require a different setup than Drupal modules. • This should be obvious.
  8. DEMO DRUPAL MODULE • Travis-CI is configured via a .travis.yml

    file. • The easiest thing to do? Fork a working repo. • The purpose of the demo is to do this stepwise. • Add travis.yml to project. via some pull requests. • Enable travis project. • Edit README and push. • Done.
  9. DEMO DRUPAL PROJECT ON OPENSHIFT • The main point is

    to demonstrate deployment. • Add travis.yml • Configure using travis gem. • Enable Travis-CI for project. • Edit README and push. • Done.
  10. A LITTLE PROGNOSTICATION: OPENSHIFT AND DOCKER. • RedHat has partnered

    with dotCloud to bring Docker to OpenShift. • Deployment will become trivial.