Your SlideShare is downloading. ×
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Drupal's Development workflow with Git, Jenkins, Aegir and Chiliproject

4,405

Published on

Development workflow with Drupal, featuring Git, Ægir, Jenkins & Chiliproject.

Development workflow with Drupal, featuring Git, Ægir, Jenkins & Chiliproject.

Published in: Technology
0 Comments
16 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,405
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
52
Comments
0
Likes
16
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Development workflow with Drupal featuring Git, Ægir, Jenkins & Chiliproject.© 2012 Pol DellAiera (http://about.me/drupol), Pierre Buyle (http://about.me/pbuyle)
  • 2. What is Git ?Git is a distributed revision control system (VSC or SCM).Git was initially designed and developed by Linus Torvalds forLinux kernel development.Every Git working directory is a full-fledged repository withcomplete history and full revision tracking capabilities, notdependent on network access or a central server.
  • 3. Why Git is better ? Pros Cons● Everything is local ● :-)● Easy branching● Fast and small● Distributed● Staging area● Any workflow is possible● Easy to learn● Free● Open Source Source: http://whygitisbetterthanx.com/
  • 4. What is Jenkins ?Jenkins, formerly known as "Hudson Labs", isthe leading open-source continuousintegration server. Jenkins is an award-winning application that monitorsexecutions of repeated jobs, such as building a softwareproject or jobs run by cron.Among those things, Jenkins focuses on the following twojobs: 1. Building/testing software projects continuously 2. Monitoring executions of externally-run jobsJenkins keeps those outputs and makes it easy for you tonotice when something is wrong.
  • 5. What is Ægir ?The Ægir hosting system allows developers and siteadministrators to automate many of the common tasksassociated with deploying and managing large websites.Ægir makes it easy to install, upgrade, deploy, and backup anentire network of Drupal sites.Support for multi-server site deployment and managementallows for migrating sites between servers, including largesites spread across multiple web servers.
  • 6. What is Chiliproject ?ChiliProject is a web based projectmanagement system written in Ruby. It supports your team throughout the complete project lifecycle, from setting up and discussing a project plan, overtracking issues and reporting work progress to collaborativelysharing knowledge through a wiki.
  • 7. How To Link Them AllTogether ?
  • 8. The big picture
  • 9. Details: Users & Git Users communicate with Git. You can use Git in command line or your favorite IDE.
  • 10. Details: Git &JenkinsIn this setup, Git is polled byJenkins.Its Jenkins who check at regular interval the state of therepositories.According to the job configuration, Jenkins can be triggeredupon a change in a repository or at regular interval.
  • 11. Details: Jenkins Repositories are linked to one or more Jenkins jobs.When a job is runned, it can be either Success or Failed.Jobs starts Phing, a PHP builder tool who will ● Populate the Drupal tree with code from Drupal.org and your repositories ● Runs checks and tests to validate the code ● Deploy the validated code using Fabric, a python library.
  • 12. Details: Jenkins: Phing Jenkins exhaustively use a tool called Phing, a PHP project build system.You can do anything with it that you could do with atraditional build system like GNU make, and its use of simpleXML build files and extensible PHP "task" classes make it aneasy-to-use and highly flexible build framework.The whole Drupal project is built thanks to this tools calledwithin and by Jenkins.
  • 13. Details: Jenkins: Phing: Fabric Fabric is a python library and command-line tool for streamlining the use of SSH for application deployement.It provides a basic suite of operations for executing local orremote shell commands (normally or via sudo) anduploading/downloading files, as well as auxiliaryfunctionality such as prompting the running user for input, oraborting execution.
  • 14. Details: JenkinsIf the job failed to build, Jenkins will notcontinue and youll be able to review the logand fix the problem. Jenkins will check code from the repository with multipletools (PHP_CodeSniffer, JSLInt, etc.). It will also producecode statistics and review.Errors are often triggered by a syntax errors in the code.If the build is successful, Jenkins will run a python scriptand specific command to import the site into Ægir.
  • 15. Details: Ægir Ægir will import Drupal websites into its database and create Apache virtualhosts automatically.With Ægir, you can manage sites, platforms and serversthrough the command line and/or the web interface.This is the perfect tool to deploy Drupal.
  • 16. Details: ApacheApache will be reloaded by Ægir and the newvirtualhost newly created will be taken inaccount.Youll be able to log-in to the new site for thefirst time and set the administrator password.
  • 17. References / More information● Git ○ http://git-scm.com ○ https://drupal.org/documentation/git● Continuous Integration ○ http://www.martinfowler.com/articles/continuousIntegration.html ○ https://en.wikipedia.org/wiki/Continuous_Integration● Jenkins ○ http://jenkins-ci.org ○ http://reload.github.com/jenkins-drupal-template● Phing ○ http://www.phing.info ○ http://reload.github.com/phing-drupal-template/● Fabric ○  http://fabfile.org● Ægir ○ http://www.aegirproject.org ○ http://mig5.net/content/aegir-video-drupaldownunder-2012● Chiliproject ○ https://www.chiliproject.org/ 

×