Zero-Touch Drupal Deployment
|
|
|
- Ashlie Bradford
- 10 years ago
- Views:
Transcription
1 Zero-Touch Drupal Deployment Whitepaper Date 25th October 2011 Document Number MIG5-WP-D-004 Revision 01 1
2 Table of Contents Preamble The concept Version control Consistency breeds abstraction Automation The Technology Git Jenkins Fabric The Process Branches Precautions Going live Notifications How the Zero-touch experience changes things Further reading 2
3 Preamble It s become a standard for agencies developing web applications for clients to adopt a development workflow to apply changes to that app over its lifecycle. These workflows typically transition a change starting from a development environment, through to Q/A, then staged for client approval, and finally deployed to the live or production environment. The purpose of such workflows is, of course, to maintain a sane audit trail of change, reduce risk and liability, and be able to roll back changes easily. For these reasons, it s no surprise many development teams use version control software to manage a revision history of the application. However, more often than not, the actual processes of applying those changes in the version control system to the various environments through this workflow, are performed manually, dragging everything back to the same pitfalls related to human error, loss of time, and low incentive to commit early and often. mig5 believes this problem has been accepted as the way of things by most agencies. mig5 also believes this should no longer be a problem. A sysadmin s mantra is to automate laborious, mundane, and human error prone tasks so that they no longer throw roadblocks and allow people to get on with what s important. This whitepaper describes the methodologies mig5 has produced and implemented for a wide range of existing clients to apply the sysadmin mantra to Drupal site development and deployment through the dev/stage/live process. This methodology is called Zero-touch deployment. 3
4 The concept There are several key components or concepts that are required to make Zerotouch deployment work successfully. Version control It is absolutely crucial to keep a codebase in a version control system 1. A VCS provides an audit trail showing who made a change to the code and why. Most VCS, by maintaining internal databases tracking those changes, also provide convenient methods for reverting or undoing changes, if something goes wrong. One of the VCS solutions that is gaining increasing popularity due to its enormous power and flexibility, is Git 2. Originally authored by Linus Torvalds 3, creator of the Linux kernel 4, Git is a type of VCS known as distributed - that is, it does not require a central server that holds all the data. With Git, it is possible to commit changes to an internal database on your local system, because every Git repository considers itself a fully-fledged database that can optionally be synced with other copies of the repository located remotely. Git is fast, optimised for certain common version control operations such as maintaining separate diverging branches of a codebase, advanced capabilities for merging changes from different remote copies of repositories and branches, and more
5 If you d like to learn how to use Git, how it differs from other version control systems, and the gritty technical details on how it works, the Pro Git book 5 is highly recommended. Consistency breeds abstraction Another important concept when attempting to achieve zero-touch deployment, is to be consistent with your approach across different projects. If you re a Drupal agency, it is highly unlikely that you re building just one application - you probably have a range of different clients and different websites to build. For this reason, it s only natural to achieve zero-touch for all your existing projects, and more importantly, all future projects! The faster the process can be made, the more time you have to take on more work and make more money. The zero-touch tools mig5 builds and implements, are designed to be as highly abstracted as possible, in order to be applied to whatever project / server you re working on. For this reason, consistency is key, so that the Zero-Touch tools can afford to make some assumptions about how you work. Consistency means everything from: using the same version of operating system versions and software in each environment (dev, stage, live) using the same naming standards for repositories and branches using the same workflow (from dev to Q/A, to stage, to live) other techniques to keep consistent (database naming conventions etc) Automation The ultimate aim of Zero-touch is to automate away the process of applying a change that a developer has committed to a repository in his or her development environment, to the respective remote environment (Q/A, stage or production)
6 The Zero-touch tools eliminate the need for a developer or release manager to, for example, login to a remote staging server via SSH and run a git pull or a custom Bash script to apply the change, adjust HTTP virtual host configurations or manually perform database modifications. How often did you do such a thing and forget to make a backup first, or perform your git pull on the live codebase and find it either broke unexpectedly, or caused a conflict because your co-developer make an on-the-fly change? Zero-touch puts the past behind you and makes deployment feel safe again and even fun! The Technology We ve talked about the concepts that help achieve Zero-touch. Now let s look at the actual tools mig5 implements to do the job. Git We ve discussed Git already as the version control system of choice. It is possible, however, to adapt the Zero-touch tools to your VCS of choice: be that Subversion, Bazaar, Mercurial or whatever you prefer. Jenkins Jenkins 6 is a Continuous Integration server, most commonly used for running test suites against codebases or applications. However, more generally it is a reactive tool that can run any arbitrary number of tasks either locally or on remote systems via SSH or other means of communication. Jenkins ability to recognise success vs failure when running tasks makes it important for Zero-touch, because it can help identify a problem and safely back out of what might ve been a disastrous change - especially to a live environment
7 In Zero-touch, Jenkins is the gatekeeper that detects changes that occur to a Git repository (triggered from a developer s commit and push), and sends the instructions to make change occur on the remote environments. Fabric Fabric 7 is a Python API for running arbitrary SSH commands and deployments on local and remote hosts. It is very similar to Capistrano 8, a Ruby tool that provides commands for users to deploy over SSH. In Zero-touch, a suite of tasks exist in a configuration file or Fabfile that fetch changes, backup existing systems, and apply changes in the various environments, in an important order or chain of events. It is the Fabfile tasks that Jenkins executes when a change has occurred in Git, activating those remote procedures
8 The Process Now that we ve looked at the concepts and the tools used, you re probably starting to wonder What actually *happens* during a deployment? Branches As already described, the procedure begins with a developer pushing a change to git. In Zero-touch methodology, several branches exist in the git repository, labeled so as to be recognised for the different environments to deploy to. master branch is the core branch that developers use to commit changes from 8
9 their development environment. Developers can maintain their own branches or use feature or hotfix branches to work on specific changes, but should ultimately merge those changes into the master branch. The Q/A or testing environment is tracked by Jenkins by watching the master branch, effectively collating changes from a possibly multi-developer team into a version of the site that reflects all those changes. This is a good opportunity for your Q/A engineers/testers to review what s happening and if the changes reflect what s been asked for / fixes what bugs have been reported. When the changes as seen in the Q/A environment are looking good, they should be merged into the stage branch in Git. This triggers a deployment to the staging site by Jenkins, whereby the client can be asked to sign-off on the change if they are happy with it. Once approved, that change is then carried on to the live or prod branch in git. Jenkins once again detects this change, and applies the change to the production environment, taking the change live. Precautions In each step or deployment, the site and critical components such as the database are backed up first before anything happens. The backup is labeled with a recognisable name such as $repo_prior_to_build_n where N is the build number or identifier in Jenkins. In the (unlikely) event of an unexpected big disaster requiring manual intervention to recover from, this allows an engineer to quickly identify exactly which backup should be restored from: if build 47 broke everything, then the prior_to_build_47 backup is probably what should be used to restore from. In Zero-touch, there is no pristine live copy of a site that gets routine git pull s or updates applied. Even with a version control system, this can be unpredictable and difficult to revert automatically. Instead, every time a deployment occurs, an entire copy of the codebase is checked out fresh, in a unique directory (again reflecting the build identifier), 9
10 separate from the current live or previous codebase. A symlink is used to point to whatever is the latest build. The HTTP vhost configuration considers this symlink to be the real live path or DocumentRoot 9 in Apache terminology. In this way, the site is always served up using whatever codebase the symlink currently points to. Going live If all tests pass and everything is looking good with a new deployment, that symlink is altered to point to the new build. This is what takes the change live, without having to alter the HTTP vhost configuration. If something unexpected occurred, it is very easy to roll back the change by simply setting the symlink to point back to the previous build. A Fabric task exists to retain a configurable number of old builds in case this is necessary. Notifications Zero-touch takes advantage of Jenkins existing Notification API, which can be configured to alert personnel to a failed build via a variety of methods ( , IRC 10 bot channel announcement, iphone push notification using Notifo 11, XMPP etc). Typically a successful deployment will be announced quietly, such as via an IRC announcement, whilst noisier alerts such as phone notifications and s will be used in the event of a failed build, to get attention quickly. Because Jenkins is tracking changes to a git repository, it is even capable of guessing, from the commit author metadata, the culprit that broke the build, and able to notify that specific person (based on the assumption that if that developer
11 pushed a change, they have knowledge of what change was meant to occur, are probably still at the office watching it occur, and able to respond reasonably quickly to fix the issue). 11
12 How the Zero-touch experience changes things Experience implementing Zero-touch for various Drupal agencies has identified numerous positive effects that the methodology has had for those agencies and development teams. These are the top 10 examples we ve seen. 1. Deployments start to occur more frequently with smaller changesets, reducing the effect of errors and risks associated 2. Audit trails become easier to track what changes have occurred 3. Developers become more confident with pushing changes 4. Developers take more ownership of their changes 5. Less potential for data loss occurs when more frequent pushing to git is occurring, instead of developers hanging on to their local copies 6. It is faster to work on multiple projects if they are all using Zero-touch 7. Less fatigue from developers who can concentrate on development and forget about deployment 8. More attention is paid to fixing problems before they reach production, because failed builds can t help but be noticed 9. Communication improves during a project 10.Security can be improved/tightened (developers don t all need SSH access or sudo, just a Jenkins user for remote tasks to work) Is this sounding like a big sigh of relief to you? Zero-touch only brings benefits and usually is straightforward to setup and even integrate into existing environments. Contact mig5 12 today to see if it s something you can take advantage of too!
13 Further reading mig5 and others (clients) have written about Zero-touch elsewhere too: Zero-touch Drupal deployment with Jenkins, Aegir, Git, Fabric and Drush How CodeEnigma does hosting One-touch provisioning and auto-monitoring of new servers Test your Drupal distro: Building a continuous integration server with Aegir and Jenkins Continuous Integration (Presentation at DrupalCamp Toulouse with CodeEnigma, November 2011) 13
How To Manage Change In Jeepers
Continuous Integration Continuous Integration What is Continuous Integration? In software engineering, continuous integration (CI) implements continuous processes of applying quality control small pieces
Practical continuous deployment
Practical continuous deployment Who Am I? Steve Smith! An Atlassian for 8+ years! Original company sysadmin! Developer for last 5 years! Now working out of Amsterdam! Not a professional speaker Who Am
Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014
This presentation was originally given at DrupalCamp Scotland, 2014. http://camp.drupalscotland.org/ The University of Edinburgh 1 We are 2 of the developers working on the University s ongoing project
Version control with GIT
AGV, IIT Kharagpur September 13, 2012 Outline 1 Version control system What is version control Why version control 2 Introducing GIT What is GIT? 3 Using GIT Using GIT for AGV at IIT KGP Help and Tips
Simple and powerful site deployment with capistrano
Simple and powerful site deployment with capistrano Kim Pepper [email protected] @scorchio96 d.o: kim.pepper How are you deploying now? FTP, SFTP, SCP? SSH + GIT? Aegir? Drush? Debian packages? Don't
Advanced Computing Tools for Applied Research Chapter 4. Version control
Advanced Computing Tools for Applied Research Jaime Boal Martín-Larrauri Rafael Palacios Hielscher Academic year 2014/2015 1 Version control fundamentals 2 What you probably do now Manually save copies
Continuous Integration
Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal
MATLAB @ Work. MATLAB Source Control Using Git
MATLAB @ Work MATLAB Source Control Using Git Richard Johnson Using source control is a key practice for professional programmers. If you have ever broken a program with a lot of editing changes, you can
MANAGE AND DEPLOY YOUR SITES WITH DRUSH
MANAGE AND DEPLOY YOUR SITES WITH DRUSH BASTIAN WIDMER @DASRECHT DEVOPS TRACK Who are you? Bastian Widmer @dasrecht Switzerland DevOps Track Chair Fuck it we do it live -Ops Agenda 1 Introduction 2 Where
Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.
Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a
5 barriers to database source control and how you can get around them
WHITEPAPER DATABASE CHANGE MANAGEMENT 5 barriers to database source control and how you can get around them 91% of Fortune 100 companies use Red Gate Content Introduction We have backups of our databases,
StriderCD Book. Release 1.4. Niall O Higgins
StriderCD Book Release 1.4 Niall O Higgins August 22, 2015 Contents 1 Introduction 3 1.1 What Is Strider.............................................. 3 1.2 What Is Continuous Integration.....................................
DevShop. Drupal Infrastructure in a Box. Jon Pugh CEO, Founder ThinkDrop Consulting Brooklyn NY
DevShop Drupal Infrastructure in a Box Jon Pugh CEO, Founder ThinkDrop Consulting Brooklyn NY Who? Jon Pugh ThinkDrop Consulting Building the web since 1997. Founded in 2009 in Brooklyn NY. Building web
using version control in system administration
LUKE KANIES using version control in system administration Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration.
Achieving Continuous Integration with Drupal
23 Au gu Achieving Continuous Integration with Drupal st 20 12 Achieving Continuous Integration with Drupal Drupalcon Munich 2012 Barry Jaspan [email protected] The Evolution of a Drupal Developer
Version Control! Scenarios, Working with Git!
Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not
Source Control Systems
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy
Introduction to the Git Version Control System
Introduction to the Sebastian Rockel [email protected] University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal
Continuous Integration. CSC 440: Software Engineering Slide #1
Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge
Continuous integration for databases using Red Gate tools
Whitepaper Continuous integration for databases using Red Gate tools A technical overview Continuous Integration source control develop Dev Dev Dev build test Automated Deployment Deployment package Testing
Introduction to Git. Markus Kötter [email protected]. Notes. Leinelab Workshop July 28, 2015
Introduction to Git Markus Kötter [email protected] Leinelab Workshop July 28, 2015 Motivation - Why use version control? Versions in file names: does this look familiar? $ ls file file.2 file.
Improving your Drupal Development workflow with Continuous Integration
Improving your Drupal Development workflow with Continuous Integration Peter Drake Sahana Murthy DREAM IT. DRUPAL IT. 1 Meet Us!!!! Peter Drake Cloud Software Engineer @Acquia Drupal Developer & sometimes
Introduction to Version Control with Git
Introduction to Version Control with Git Dark Cosmology Centre Niels Bohr Institute License All images adapted from Pro Git by Scott Chacon and released under license Creative Commons BY-NC-SA 3.0. See
Introducing Xcode Source Control
APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion
Version Control using Git and Github. Joseph Rivera
Version Control using Git and Github Joseph Rivera 1 What is Version Control? Powerful development tool! Management of additions, deletions, and modifications to software/source code or more generally
Putting It All Together. Vagrant Drush Version Control
Putting It All Together Vagrant Drush Version Control Vagrant Most Drupal developers now work on OSX. The Vagarant provisioning scripts may not work on Windows without subtle changes. If supplied, read
CS 2112 Lab: Version Control
29 September 1 October, 2014 Version Control What is Version Control? You re emailing your project back and forth with your partner. An hour before the deadline, you and your partner both find different
Version Control with Git
Version Control with Git Ben Wasserman ([email protected]) 15-441 Computer Networks Recitation 3 1/28 What is version control? Revisit previous code versions Backup projects Work with others Find where
Content. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
Distributed Version Control with Mercurial and git
OpenStax-CNX module: m37404 1 Distributed Version Control with Mercurial and git Hannes Hirzel This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract
CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011
CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion
AVOIDING THE GIT OF DESPAIR
AVOIDING THE GIT OF DESPAIR EMMA JANE HOGBIN WESTBY SITE BUILDING TRACK @EMMAJANEHW http://drupal.org/user/1773 Avoiding The Git of Despair @emmajanehw http://drupal.org/user/1773 www.gitforteams.com Local
Streamline your drupal development workflow in a 3-tier-environment - A story about drush make and drush aliases
Streamline your drupal development workflow in a 3-tier-environment - [email protected] Berlin, 18.09.2011 1. Who we are 2. Scenario 3. Solution 4. Notes Who we are Have a look at http://www.init.de
Software configuration management
Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2015-09-30 2 Maintenance Requirements System Design (Architecture,
Version Control with. Ben Morgan
Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove
TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc.
TestOps: Continuous Integration when infrastructure is the product Barry Jaspan Senior Architect, Acquia Inc. This talk is about the hard parts. Rainbows and ponies have left the building. Intro to Continuous
SOFTWARE DEVELOPMENT BASICS SED
SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2
CONTINUOUS INTEGRATION. Introduction
CONTINUOUS INTEGRATION Introduction Continuous Integration is the topic of quite a bit of buzz in Silicon Valley and beyond. And with good reason: continuous integration helps teams ship better software
How To Manage A Multi Site In Drupal
http://platform.sh [email protected] MODERNISING DRUPAL MULTI-SITE IMPLEMENTATIONS Drupal multi-site is easily re-architected to run each site in its own containerised environment. It s better and it costs
Git Basics. Christopher Simpkins [email protected]. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22
Git Basics Christopher Simpkins [email protected] Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Version Control Systems Records changes to files over time Allows you to
Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF
1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat [email protected]
Version Control with Git Linux Users Group UT Arlington Rohit Rawat [email protected] Need for Version Control Better than manually storing backups of older versions Easier to keep everyone updated
CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
MOOSE-Based Application Development on GitLab
MOOSE-Based Application Development on GitLab MOOSE Team Idaho National Laboratory September 9, 2014 Introduction The intended audience for this talk is developers of INL-hosted, MOOSE-based applications.
Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid clouds.
ENTERPRISE MONITORING & LIFECYCLE MANAGEMENT Unify IT Operations Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid
Continuous integration @ Keylane
Continuous integration @ Keylane 1 Keylane Software for pension funds In the business since 2005 Working mostly on EU market 2 1 Teams Around 30 developers and project managers Divided in 10 teams Mostly
WHITEPAPER. Improving database development
WHITEPAPER Improving database development Introduction At Redgate, we believe in creating simple, usable tools that address the problems of software developers and technology businesses. In considering
DEPLOYING DRUPAL USING CAPISTRANO
DEPLOYING DRUPAL USING CAPISTRANO Jochen Verdeyen @jochenverdeyen SITUATIONS PREREQUISITES SSH Ruby (local) Git (servers) INSTALLATION source 'https://rubygems.org' group :deploy do gem 'capistrano',
Software Configuration Management Best Practices
White Paper AccuRev Software Configuration Management Best Practices Table of Contents page Executive Summary...2 Introduction...2 Best Practice 1: Use Change Packages to Integrate with Issue Tracking...2
Two Best Practices for Scientific Computing
Two Best Practices for Scientific Computing Version Control Systems & Automated Code Testing David Love Software Interest Group University of Arizona February 18, 2013 How This Talk Happened Applied alumnus,
Best Practices for Deploying and Managing Linux with Red Hat Network
Best Practices for Deploying and Managing Linux with Red Hat Network Abstract This technical whitepaper provides a best practices overview for companies deploying and managing their open source environment
Mobile Development with Git, Gerrit & Jenkins
Mobile Development with Git, Gerrit & Jenkins Luca Milanesio [email protected] June 2013 1 ENTERPRISE CLOUD DEVELOPMENT Copyright 2013 CollabNet, Inc. All Rights Reserved. About CollabNet Founded in
Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison
Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin
Testing Rails. by Josh Steiner. thoughtbot
Testing Rails by Josh Steiner thoughtbot Testing Rails Josh Steiner April 10, 2015 Contents thoughtbot Books iii Contact us................................ iii Introduction 1 Why test?.................................
F Cross-system event-driven scheduling. F Central console for managing your enterprise. F Automation for UNIX, Linux, and Windows servers
F Cross-system event-driven scheduling F Central console for managing your enterprise F Automation for UNIX, Linux, and Windows servers F Built-in notification for Service Level Agreements A Clean Slate
Version Control Systems
Version Control Systems ESA 2015/2016 Adam Belloum [email protected] Material Prepared by Eelco Schatborn Today IntroducGon to Version Control Systems Centralized Version Control Systems RCS CVS SVN
Best Practices Report
Overview As an IT leader within your organization, you face new challenges every day from managing user requirements and operational needs to the burden of IT Compliance. Developing a strong IT general
Automated build service to facilitate Continuous Delivery
MASTER S THESIS LUND UNIVERSITY 2015 Automated build service to facilitate Continuous Delivery Ture Karlsson Department of Computer Science Faculty of Engineering LTH ISSN 1650-2884 LU-CS-EX 2015-27 Automated
OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise
openshift Benefits Document platform features Feature Benefit FOR APPLICATIO DEVELOPMET Self-Service and On-Demand Application Stacks By enabling Developers with the ability to quickly and easily deploy
In depth study - Dev teams tooling
In depth study - Dev teams tooling Max Åberg mat09mab@ Jacob Burenstam Linder ada09jbu@ Desired feedback Structure of paper Problem description Inconsistencies git story explanation 1 Introduction Hypotheses
DRUPAL WEBSITE PLATFORM BUYER S GUIDE
THE DRUPAL WEBSITE PLATFORM BUYER S GUIDE 5 Steps to Selecting the Best Technology to Build, Launch, and Manage Your Drupal Site 1 The Drupal Website Platform Buyer s Guide EVERYTHING YOU NEED TO KNOW
Software Configuration Management and Continuous Integration
1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish
Using GitHub for Rally Apps (Mac Version)
Using GitHub for Rally Apps (Mac Version) SOURCE DOCUMENT (must have a rallydev.com email address to access and edit) Introduction Rally has a working relationship with GitHub to enable customer collaboration
Software Continuous Integration & Delivery
November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com
Introduc)on to Version Control with Git. Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT
Introduc)on to Version Control with Git Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT Contents 1. What is Version Control? 2. Why use Version control? 3. What is Git? 4. Create
The Real Challenges of Configuration Management
The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development
Global Software Change Management for PVCS Version Manager
Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.
Vistara Lifecycle Management
Vistara Lifecycle Management Solution Brief Unify IT Operations Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid
Managing Source Code With Subversion
Managing Source Code With Subversion May 3rd, 2005: Linux Users Victoria Source Code Management Source Code Management systems (SCMs) rock. Definitely the single most useful tool for a development team,
Gitflow process. Adapt Learning: Gitflow process. Document control
Adapt Learning: Gitflow process Document control Abstract: Presents Totara Social s design goals to ensure subsequent design and development meets the needs of end- users. Author: Fabien O Carroll, Sven
The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC
Paper PA-04 The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC ABSTRACT Don't Panic! Github is a fantastic way to host, share, and collaborate
Data management on HPC platforms
Data management on HPC platforms Transferring data and handling code with Git scitas.epfl.ch September 10, 2015 http://bit.ly/1jkghz4 What kind of data Categorizing data to define a strategy Based on size?
Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012
Jenkins Continuous Build System Jesse Bowes CSCI-5828 Spring 2012 Executive summary Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development
Version Control with Subversion
Version Control with Subversion http://www.oit.duke.edu/scsc/ http://wiki.duke.edu/display/scsc [email protected] John Pormann, Ph.D. [email protected] Software Carpentry Courseware This is a re-work from the
Version Control Your Jenkins Jobs with Jenkins Job Builder
Version Control Your Jenkins Jobs with Jenkins Job Builder Abstract Wayne Warren [email protected] Puppet Labs uses Jenkins to automate building and testing software. While we do derive benefit from
Version Uncontrolled! : How to Manage Your Version Control
Version Uncontrolled! : How to Manage Your Version Control Harold Dost III, Raastech ABSTRACT Are you constantly wondering what is in your production environment? Do you have any doubts about what code
Intro to Patching. Thomas Cameron, Chief Architect, Western US, Red Hat [email protected] twitter: thomasdcameron IRC: choirboy on Freenode
Intro to Patching Thomas Cameron, Chief Architect, Western US, Red Hat [email protected] twitter: thomasdcameron IRC: choirboy on Freenode RHCA, RHCSS, RHCDS, RHCVA, RHCX Agenda 2 Who am I? Who are you?
An Introduction to Mercurial Version Control Software
An Introduction to Mercurial Version Control Software CS595, IIT [Doc Updated by H. Zhang] Oct, 2010 Satish Balay [email protected] Outline Why use version control? Simple example of revisioning Mercurial
Version Control for Computational Economists: An Introduction
Version Control for Computational Economists: An Introduction Jake C. Torcasso April 3, 2014 Starting Point A collection of files on your computer Changes to files and new files over time Interested in
Continuous integration for databases using
Continuous integration for databases using Red Wie Sie Gate die tools Microsoft SQL An overview Continuous integration for databases using Red Gate tools An overview Contents Why continuous integration?
DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction
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
Introduction to Source Control ---
Introduction to Source Control --- Overview Whether your software project is large or small, it is highly recommended that you use source control as early as possible in the lifecycle of your project.
Ansible in Depth WHITEPAPER. ansible.com +1 800-825-0212
+1 800-825-0212 WHITEPAPER Ansible in Depth Get started with ANSIBLE now: /get-started-with-ansible or contact us for more information: info@ INTRODUCTION Ansible is an open source IT configuration management,
Version Control with Git. Kate Hedstrom ARSC, UAF
1 Version Control with Git Kate Hedstrom ARSC, UAF Linus Torvalds 3 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
Tuskar UI Documentation
Tuskar UI Documentation Release Juno Tuskar Team May 05, 2015 Contents 1 Tuskar UI 3 1.1 High-Level Overview.......................................... 3 1.2 Installation Guide............................................
Using Git for Project Management with µvision
MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time
Git Basics. Christian Hanser. Institute for Applied Information Processing and Communications Graz University of Technology. 6.
Git Basics Christian Hanser Institute for Applied Information Processing and Communications Graz University of Technology 6. March 2013 Christian Hanser 6. March 2013 Seite 1/39 Outline Learning Targets
OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect [email protected]
OpenShift Enterprise PaaS Red Hat Andrey Markelov RHCA Red Hat, Presales Solution Architect [email protected] 1 Cloud Service Models IaaS PaaS SaaS APPLICATION APPLICATION PLATFORM (JBOSS, PHP, RUBY, ETC)
Extending Remote Desktop for Large Installations. Distributed Package Installs
Extending Remote Desktop for Large Installations This article describes four ways Remote Desktop can be extended for large installations. The four ways are: Distributed Package Installs, List Sharing,
CoDe:U Git Flow - a Continuous Delivery Approach
CoDe:U Git Flow - a Continuous Delivery Approach Praqmatic Software Development 1 Continuous Delivery (CoDe) is an approach that builds very much on divide and conquer. It s bred from a lean and agile
WHITE PAPER. Avoiding the Pitfalls when Transitioning into Managed Services. By Nick Cavalancia
Avoiding the Pitfalls when Transitioning into Managed Services By Nick Cavalancia As you begin your journey transitioning into managed services, you ll quickly find the transition is more about how you
Git Branching for Continuous Delivery
Git Branching for Continuous Delivery Sarah Goff-Dupont Automation Enthusiast Hello everyone I ll be talking about how teams at Atlassian use Git branches for continuous delivery. My name is Sarah, and
Continuous Integration and Delivery at NSIDC
National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research
