Eliminate Workflow Friction with Git

Size: px
Start display at page:

Download "Eliminate Workflow Friction with Git"

Transcription

1 Eliminate Workflow Friction with Git Joel I come from the distant land of Milwaukee. Organizer of Milwaukee PHP and Milwaukee FP. Feel free to reach out to me on Twitter.

2 World s problems to be solved today Developers step on each other s changes Deployment gets blocked by a bad commit An irrational fear of git rebase Deployment is slow and clunky Works for me Good to set goals so you can know if this talk will be valuable to you. Only somewhat facetious in my goal. These are very common problems and can cause significant grief. If they can t be solved completely, we can certainly reduce the impact.

3 Assumptions

4 You use version control Please say you do. I won t shame you if you don t, but who isn t using any VCS? Maybe this talk will give you added incentive to start using VCS.

5 You use git Not an intro to git talk. You may be able to adapt this to Mercurial (I ve never tried). It will not be possible to do follow most of these suggestions with SVN or other centralized VCS.

6 Your mileage may vary Your problems may require a slightly different solution. These solutions are based on my experience and my specific problems. You will likely need to tweak them to work for your specific problems.

7 Developers step on each other s changes Even if you are a solo developer, this can happen to you. Future you can step on past you s changes.

8 Branches Other VCS have branching, but git is built around branching. I rarely used branches in SVN. I used them enough to realize how badly they break on merge.

9 master Fix bug 1234 Add captcha Git as SVN All work done in master Log authentication errors Evolution step one: all commits in master branch. Especially tempting when you are the only developer. Note reference to blog post. Source of some of my workflow ideas and the keynote template for generate git diagrams.

10 master Initial commit Feature Branches Add captcha work on more than one thing Log authentication errors Development is rarely 100% linear. Multiple devs, competing priorities, it becomes useful to be able to develop more than one feature at a time. Using feature branches facilitates this.

11 develop master Cleaner separation develop branch as sandbox Sometimes feature branches won t merge cleanly. If this happens in master, it can cause a more critical problem. Using a develop branch isolates master from most of these merge conflicts.

12 develop staging master Even more safety introduce a staging branch Adding a staging branch gives even more protection. Also useful if you have a formal QA/testing phase after development, but before deployment to production. This diagram is very simplified. Merging from dev to staging to master isn t usually this linear.

13 Go nuts! Here is the full workflow as proposed by the author of that blog post. This was more complex than what I needed, but it demonstrates how far you can go with branching.

14 Developers step on each other s changes Obviously not completely solved, but this technique makes it far less common and less difficult to resolve when it happens.

15 Deployment gets blocked by a bad commit Problem two! This happened to me all the time. Multiple features pending deployment, but an earlier feature failed testing or needs signoff, blocking everything merged after it. Bottlenecks are bad!

16 develop staging master Local QA Production Each branch becomes a deployment target First, it s important to recognize the correlation between branches and deployment targets. You can know what is deployed in each environment by looking at the corresponding branch. Normally I deploy the tip of a branch, but some choose to deploy a specific commit based on a tag.

17 How do we move feature branches? If things are merged chronologically, it s very easy. Life is far more messy however.

18 Scenario: Deploy a newer feature branch, skipping other pending features Dev finishes a large feature, but it needs time for thorough testing and review. Meanwhile, two bugs are fixed and need to get to production as soon as possible.

19 Option 1: hotfixes In the formal git flow model, things that need to be deployed to production ASAP get branched off of master. Called hotfixes. Then get back ported to dev later. Sometimes we don t know something is urgent when we start though.

20 Option 2: rebase/cherry-pick my preferred option Feature branches all still originate off develop branch.

21 Merge as late as possible Feature testing within feature branch This one is sort of obvious. Why even consider merging until you ve done basic testing.

22 Merge as late as possible Feature testing within feature branch Integration testing ALSO done in feature branch This one may seem counter-intuitive. How can we do integration testing without integrating it (merging it) back into develop so it can interact with all the new commits since we branched?

23 git rebase stay with me Rebase is something many git users fear. It s the source of scary campfire stories, but it has a useful place in my normal workflow.

24 Move forward in time not always about rewriting history Many describe rebase in terms of changing history. In a sense, that is what you are doing. Makes it as if you created a branch off current tip of develop, even if you really created it weeks ago. Hat tip to atlassian for image. (ref at end)

25 DANGER Only do this in feature branches no one else is working in DO NOT rebase your long running branches, only feature branches. DO NOT rebase a feature branch if others are adding new commits (okay if they are simply reviewing).

26 git push -f origin <branch> It s scary, but you re going to be okay.

27 You still may need to deploy out of order. No matter how late you try to merge a feature to develop, priorities change quickly and mistakes can be made. You still may want to deploy a newer feature but not an older feature.

28 git merge includes all history You will get those older features if you merge a newer feature. Merge is not the answer.

29 git cherry-pick one of the neglected git commands Basic idea: take a commit (or series of commits) and apply them to a specific branch. Unlike a merge, these are copied commits (new SHAs).

30 cherry-pick the merge commit requires the -m <n> flag (usually -m 1) A normal commit is clear. With a merge commit, you need to specify the parent (m is for main line). It will replay the commit based on the parent. You want the develop branch (usually -m 1). Compare SHAs to be sure.

31 use -n for greater sanity n = no-commit, many commands have a similar flag Let s you sanity check the cherry-pick before committing it. With git, you can easily undo before pushing, but -n just makes me feel better about myself.

32 Deployment gets blocked by a bad commit Now you can cherry-pick features out of order. Depending on the nature of the feature, you still may have dependencies, so you still may get blocked. But this will reduce many blocks. I will occasionally merge develop into staging into master as I get caught up

33 Deployment is slow and clunky This section is going to depend a lot on your hosting environment. Describe pain of deploying with FTP. Pick specific files, upload, wait, rinse, repeat. Have fun rewinding.

34 Sidebar: Shared Hosting Many people use shared hosting. Many shared hosts only offer FTP (no SSH) FTP is completely insecure. Find a new host. ServerGrove is a sponsor and offers a few shared hosting plans with SSH access. FTP is a very bad idea. I ve seen countless FTP accounts compromised with no failed attempts. Captured in the clear.

35 Alternative: VMs or PaaS VMs are cheap (Digital Ocean, ServerGrove) Often cheaper than many shared hosts PaaS - many have free tier (dotcloud, AppFog, AWS)

36 Life is too short for FTP My consulting company is No Compromises. One of the things I will not compromise on is bad shared hosting. I have turned down projects and fired clients who only have FTP.

37 PaaS deployment Most support monitoring a git repo / branch Staging server monitors staging branch, and so on. I do have some clients on PaaS and it works well, but it s not usually my favorite option. (unless you need to do dynamic auto-scaling with minimal effort)

38 VMs: my favorite VMs provisioned with Vagrant Exact same env on local, staging, production Exact same across team Solves a lot of works for me Don t get burned by OS X being case insensitive and Linux being case sensitive. One of many examples. VirtualBox (or VMWare) local, Digital Ocean / AWS in production.

39 Vagrant and git best of friends Vagrant is really just a few text files: Vagrantfile,.vagrant files. Even Puppet (my provisioner of choice) is just text. Easy to version for different environments.

40 Copying code rsync or git Vagrant will sync folders with rsync. I prefer to issue a Puppet command to git pull from my repo. Can also leverage git hooks with this approach.

41 Deployment is slow and clunky Push button deployment. Easy to roll back. Easy to manage separate environments. Consistent across team and environments.

42 So much more... Automatic options on branch checkout Hooks on commit or push to enforce style/tests Export git log to client invoices or work logs

43 Questions?

44 Feedback please! First time giving this particular talk. Need help refining

45 References rebase

46 Thank you!! Catch me later or on Twitter to discuss in more depth.

Version Control! Scenarios, Working with Git!

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

More information

Git Branching for Continuous Delivery

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

More information

Achieving Continuous Integration with Drupal

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 barry.jaspan@acquia.com The Evolution of a Drupal Developer

More information

Annoyances with our current source control Can it get more comfortable? Git Appendix. Git vs Subversion. Andrey Kotlarski 13.XII.

Annoyances with our current source control Can it get more comfortable? Git Appendix. Git vs Subversion. Andrey Kotlarski 13.XII. Git vs Subversion Andrey Kotlarski 13.XII.2011 Outline Annoyances with our current source control Can it get more comfortable? Git Appendix Rant Network traffic Hopefully we have good repository backup

More information

Version Uncontrolled! : How to Manage Your Version Control

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

More information

Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF

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

More information

Version Control with Git. Dylan Nugent

Version Control with Git. Dylan Nugent Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just

More information

Introducing Xcode Source Control

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

More information

Version control with Subversion

Version control with Subversion Version control with Subversion Davor Cubranic Grad Seminar October 6, 2011 With searching comes loss And the presence of absence: My Thesis not found. Version Control A tool for managing changes to a

More information

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

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

More information

Successful PaaS and CI in the Cloud

Successful PaaS and CI in the Cloud Successful PaaS and CI in the Cloud Steven G. Harris steven.g.harris@cloudbees.com @stevengharris AgileALM/EclipseCon 2012 Platform as a Service As-a-Service Examples Today SaaS PaaS "Cloud computing is

More information

FogBugz & Kiln. Tools for Software Teams From the Makers of Stack Overflow and Trello. Fog Creek Software

FogBugz & Kiln. Tools for Software Teams From the Makers of Stack Overflow and Trello. Fog Creek Software FogBugz & Kiln Tools for Software Teams From the Makers of Stack Overflow and Trello Fog Creek Software 1 About Fog Creek Software We Help You Make Better Software Founded in 2000 by Joel Spolsky and Michael

More information

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. 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

More information

Gitflow process. Adapt Learning: Gitflow process. Document control

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

More information

Using Git for Project Management with µvision

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

More information

Zero-Touch Drupal Deployment

Zero-Touch Drupal Deployment Zero-Touch Drupal Deployment Whitepaper Date 25th October 2011 Document Number MIG5-WP-D-004 Revision 01 1 Table of Contents Preamble The concept Version control Consistency breeds abstraction Automation

More information

Version Control with Git. Kate Hedstrom ARSC, UAF

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

More information

PKI, Git and SVN. Adam Young. Presented by. Senior Software Engineer, Red Hat. License Licensed under http://creativecommons.org/licenses/by/3.

PKI, Git and SVN. Adam Young. Presented by. Senior Software Engineer, Red Hat. License Licensed under http://creativecommons.org/licenses/by/3. PKI, Git and SVN Presented by Adam Young Senior Software Engineer, Red Hat License Licensed under http://creativecommons.org/licenses/by/3.0/ Agenda Why git Getting started Branches Commits Why? Saved

More information

MOOSE-Based Application Development on GitLab

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.

More information

Improving your Drupal Development workflow with Continuous Integration

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

More information

using version control in system administration

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.

More information

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

How to set up SQL Source Control. The short guide for evaluators How to set up SQL Source Control The short guide for evaluators Content Introduction Team Foundation Server & Subversion setup Git setup Setup without a source control system Making your first commit Committing

More information

Version Control Using Subversion. Version Control Using Subversion 1 / 27

Version Control Using Subversion. Version Control Using Subversion 1 / 27 Version Control Using Subversion Version Control Using Subversion 1 / 27 What Is Version Control? Version control is also known as revision control. Version control is provided by a version control system

More information

Putting It All Together. Vagrant Drush Version Control

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

More information

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 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

More information

Version control with GIT

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

More information

Chapter 28: Expanding Web Studio

Chapter 28: Expanding Web Studio CHAPTER 25 - SAVING WEB SITES TO THE INTERNET Having successfully completed your Web site you are now ready to save (or post, or upload, or ftp) your Web site to the Internet. Web Studio has three ways

More information

Continuous Integration and Delivery at NSIDC

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

More information

Implementing Continuous Integration and Cloud Server Infrastructure for an International Enterprise Based In Finland

Implementing Continuous Integration and Cloud Server Infrastructure for an International Enterprise Based In Finland Implementing Continuous Integration and Cloud Server Infrastructure for an International Enterprise Based In Finland 06 October 2015 Author(s) Rudy Joel Lopez Reyes Degree programme Business Information

More information

Version Control Systems: SVN and GIT. How do VCS support SW development teams?

Version Control Systems: SVN and GIT. How do VCS support SW development teams? Version Control Systems: SVN and GIT How do VCS support SW development teams? CS 435/535 The College of William and Mary Agile manifesto We are uncovering better ways of developing software by doing it

More information

Introduction to Source Control ---

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.

More information

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 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

More information

Developer Workshop 2015. Marc Dumontier McMaster/OSCAR-EMR

Developer Workshop 2015. Marc Dumontier McMaster/OSCAR-EMR Developer Workshop 2015 Marc Dumontier McMaster/OSCAR-EMR Agenda Code Submission 101 Infrastructure Tools Developing OSCAR Code Submission: Process OSCAR EMR Sourceforge http://www.sourceforge.net/projects/oscarmcmaster

More information

Source Control Systems

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

More information

The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC

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

More information

DJANGOCODERS.COM THE PROCESS. Core strength built on healthy process

DJANGOCODERS.COM THE PROCESS. Core strength built on healthy process DJANGOCODERS.COM THE PROCESS This is a guide that outlines our operating procedures and coding processes. These practices help us to create the best possible software products while ensuring a successful

More information

Quick Guide to Getting Started: LinkedIn for Small Businesses and Nonprofits

Quick Guide to Getting Started: LinkedIn for Small Businesses and Nonprofits Quick Guide to Getting Started: LinkedIn for Small Businesses and Nonprofits Social Media www.constantcontact.com 1-866-876-8464 INSIGHT PROVIDED BY 2011 Constant Contact, Inc. 11-2120 What Is LinkedIn?

More information

I. Create Windows 2012 R2 VMware Template for Guest Customization

I. Create Windows 2012 R2 VMware Template for Guest Customization I. Create Windows 2012 R2 VMware Template for Guest Customization The purpose of this document is to illustrate the steps to create a VMware Windows 2012 Template that can be used with UCS Director Workflows.

More information

In depth study - Dev teams tooling

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

More information

Using Vagrant for Magento development. Alexander Turiak, @HexBrain

Using Vagrant for Magento development. Alexander Turiak, @HexBrain Using Vagrant for Magento development Alexander Turiak, @HexBrain $ whoami - Magento developer since 2011 - (Tries to be) Active in Magento community - Co-founded HexBrain in 2013 Key points - What is

More information

proactive contract management

proactive contract management TM proactive contract management Six Reasons Why Contract Management Matters Table of Contents Why Contract Management Matters 2 How Contracts Impact Your Business 2 Contract Data Determines Revenue and

More information

Our Puppet Story. Martin Schütte. May 5 2014

Our Puppet Story. Martin Schütte. May 5 2014 Our Puppet Story Martin Schütte May 5 2014 About DECK36 Small team of 7 engineers Longstanding expertise in designing, implementing and operating complex web systems Developing own data intelligence-focused

More information

Version Control using Git and Github. Joseph Rivera

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

More information

Software Configuration Management Best Practices

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

More information

DevOps. Building a Continuous Delivery Pipeline

DevOps. Building a Continuous Delivery Pipeline DevOps Building a Continuous Delivery Pipeline Who Am I Bobby Warner Founder & President @bobbywarner What is the goal? Infrastructure as Code Write code to describe our infrastructure Never manually execute

More information

SALES EMAIL TEMPLATES. for prospecting, scheduling meetings, following up, networking, and asking for referrals.

SALES EMAIL TEMPLATES. for prospecting, scheduling meetings, following up, networking, and asking for referrals. 36 SALES EMAIL TEMPLATES for prospecting, scheduling meetings, following up, networking, and asking for referrals. INTRODUCTION: A LOST OPPORTUNITY Here was the scenario: We make a valuable connection

More information

Setting up a local working copy with SVN, MAMP and rsync. Agentic - 2009

Setting up a local working copy with SVN, MAMP and rsync. Agentic - 2009 Setting up a local working copy with SVN, MAMP and rsync Agentic - 2009 Get MAMP You can download MAMP for MAC at this address : http://www.mamp.info/en/downloads/index.html Install MAMP in your APPLICATION

More information

MATLAB & Git Versioning: The Very Basics

MATLAB & Git Versioning: The Very Basics 1 MATLAB & Git Versioning: The Very Basics basic guide for using git (command line) in the development of MATLAB code (windows) The information for this small guide was taken from the following websites:

More information

Testing New Applications In The DMZ Using VMware ESX. Ivan Dell Era Software Engineer IBM

Testing New Applications In The DMZ Using VMware ESX. Ivan Dell Era Software Engineer IBM Testing New Applications In The DMZ Using VMware ESX Ivan Dell Era Software Engineer IBM Agenda Problem definition Traditional solution The solution with VMware VI Remote control through the firewall Problem

More information

Advanced Computing Tools for Applied Research Chapter 4. Version control

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

More information

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn CSE 374 Programming Concepts & Tools Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person,

More information

Continuous Integration

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

More information

MATLAB @ Work. MATLAB Source Control Using Git

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

More information

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources. Software Configuration Management Slides derived from Dr. Sara Stoecklin s notes and various web sources. What is SCM? SCM goals Manage the changes to documents, programs, files, etc. Track history Identify

More information

Version Control with. Ben Morgan

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

More information

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System

More information

How to Outsource Without Being a Ninnyhammer

How to Outsource Without Being a Ninnyhammer How to Outsource Without Being a Ninnyhammer 5 mistakes people make when outsourcing for profit By Jason Fladlien 2 Introduction The way everyone does outsourcing is patently wrong, and this report is

More information

Two Best Practices for Scientific Computing

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,

More information

Introduction to Git. Markus Kötter koetter@rrzn.uni-hannover.de. Notes. Leinelab Workshop July 28, 2015

Introduction to Git. Markus Kötter koetter@rrzn.uni-hannover.de. Notes. Leinelab Workshop July 28, 2015 Introduction to Git Markus Kötter koetter@rrzn.uni-hannover.de Leinelab Workshop July 28, 2015 Motivation - Why use version control? Versions in file names: does this look familiar? $ ls file file.2 file.

More information

Christopher Seder Affiliate Marketer

Christopher Seder Affiliate Marketer This Report Has Been Brought To You By: Christopher Seder Affiliate Marketer TABLE OF CONTENTS INTRODUCTION... 3 NOT BUILDING A LIST... 3 POOR CHOICE OF AFFILIATE PROGRAMS... 5 PUTTING TOO MANY OR TOO

More information

HOSTING IS DEAD. How to break free from servers, slash costs and grow your WordPress site.

HOSTING IS DEAD. How to break free from servers, slash costs and grow your WordPress site. HOSTING IS DEAD How to break free from servers, slash costs and grow your WordPress site. WHEN BAD THINGS HAPPEN TO GOOD WEBSITES Top 5 Website Emergencies You can spend thousands on traditional hosting

More information

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline

More information

Version Management with Subversion for Designers

Version Management with Subversion for Designers Version Management with Subversion for Designers the why, the how and some baby steps Lena Doppel, lena_d educating and site building university for applied arts cat-x media Designers and software Designers

More information

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 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

More information

Continuous Delivery for Force.com

Continuous Delivery for Force.com Continuous Delivery for Force.com Achieve higher release velocity (shorten release cycles) & reduced Time to Market by 40% info@autorabit.com AutoRABIT a product of TechSophy, Inc. www.autorabit.com Continuous

More information

Hands-On Lab. Embracing Continuous Delivery with Release Management for Visual Studio 2013. Lab version: 12.0.21005.1 Last updated: 12/11/2013

Hands-On Lab. Embracing Continuous Delivery with Release Management for Visual Studio 2013. Lab version: 12.0.21005.1 Last updated: 12/11/2013 Hands-On Lab Embracing Continuous Delivery with Release Management for Visual Studio 2013 Lab version: 12.0.21005.1 Last updated: 12/11/2013 CONTENTS OVERVIEW... 3 EXERCISE 1: RELEASE MANAGEMENT OVERVIEW...

More information

Jazz Source Control Best Practices

Jazz Source Control Best Practices Jazz Source Control Best Practices Shashikant Padur RTC SCM Developer Jazz Source Control Mantra The fine print Fast, easy, and a few concepts to support many flexible workflows Give all users access to

More information

Git - Working with Remote Repositories

Git - Working with Remote Repositories Git - Working with Remote Repositories Handout New Concepts Working with remote Git repositories including setting up remote repositories, cloning remote repositories, and keeping local repositories in-sync

More information

Introduction to Version Control with Git

Introduction to Version Control with Git Introduction to Version Control with Git Dark Cosmology Centre Niels Bohr Institute License Most images adapted from Pro Git by Scott Chacon and released under license Creative Commons BY-NC-SA 3.0. See

More information

Palantir.net presents Git

Palantir.net presents Git Palantir.net presents Git Branching, Merging, Commits, and Tagging: Basics and Best Practices Git Started This assumes you already have a repo. Instructions for that are already on Github. Branching BRANCHING

More information

Git Basics. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22

Git Basics. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Git Basics Christopher Simpkins chris.simpkins@gatech.edu 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

More information

WINDOWS AZURE EXECUTION MODELS

WINDOWS AZURE EXECUTION MODELS WINDOWS AZURE EXECUTION MODELS Windows Azure provides three different execution models for running applications: Virtual Machines, Web Sites, and Cloud Services. Each one provides a different set of services,

More information

Using Git for Centralized and Distributed Version Control Workflows - Day 3. 1 April, 2016 Presenter: Brian Vanderwende

Using Git for Centralized and Distributed Version Control Workflows - Day 3. 1 April, 2016 Presenter: Brian Vanderwende Using Git for Centralized and Distributed Version Control Workflows - Day 3 1 April, 2016 Presenter: Brian Vanderwende Git jargon from last time... Commit - a project snapshot in a repository Staging area

More information

User s Manual For Chambers

User s Manual For Chambers Table of Contents Introduction and Overview... 3 The Mobile Marketplace... 3 What is an App?... 3 How Does MyChamberApp work?... 3 How To Download MyChamberApp... 4 Getting Started... 5 MCA Agreement...

More information

EXPERT STRATEGIES FOR LOG COLLECTION, ROOT CAUSE ANALYSIS, AND COMPLIANCE

EXPERT STRATEGIES FOR LOG COLLECTION, ROOT CAUSE ANALYSIS, AND COMPLIANCE EXPERT STRATEGIES FOR LOG COLLECTION, ROOT CAUSE ANALYSIS, AND COMPLIANCE A reliable, high-performance network is critical to your IT infrastructure and organization. Equally important to network performance

More information

Module 11 Setting up Customization Environment

Module 11 Setting up Customization Environment Module 11 Setting up Customization Environment By Kitti Upariphutthiphong Technical Consultant, ecosoft kittiu@gmail.com ADempiere ERP 1 2 Module Objectives Downloading ADempiere Source Code Setup Development

More information

Alfresco Enterprise on Azure: Reference Architecture. September 2014

Alfresco Enterprise on Azure: Reference Architecture. September 2014 Alfresco Enterprise on Azure: Reference Architecture Page 1 of 14 Abstract Microsoft Azure provides a set of services for deploying critical enterprise workloads on its highly reliable cloud platform.

More information

My review of Webfaction

My review of Webfaction My review of Webfaction victor September 17, 2009 One year has past since I bought Webfaction s virtual hosting service. Today, I want to share my experience. Webfaction s virtual hosting is more than

More information

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

Git. A Distributed Version Control System. Carlos García Campos carlosgc@gsyc.es Git A Distributed Version Control System Carlos García Campos carlosgc@gsyc.es Carlos García Campos carlosgc@gsyc.es - Git 1 A couple of Quotes For the first 10 years of kernel maintenance, we literally

More information

Faxing: A Healthcare Disaster. 10 Ways Faxing is Holding Back Your Business

Faxing: A Healthcare Disaster. 10 Ways Faxing is Holding Back Your Business Faxing: A Healthcare Disaster 10 Ways Faxing is Holding Back Your Business December 2015 We Need A Fax Revolution Faxing is one of the most common forms of communication in healthcare. It s a point-to-point

More information

Revision control systems (RCS) and

Revision control systems (RCS) and Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

Best Overall Use of Technology. Jaspersoft

Best Overall Use of Technology. Jaspersoft Best Overall Use of Technology Jaspersoft Kerstin Klein Manager, Engineering Processes/ Infrastructure, Jaspersoft From requirements to release QA centric development From Requirement to Release QA-Centric

More information

(Don t Fear) the Features Now with more cowbell. Aimee Degnan / aimee@hook42.com

(Don t Fear) the Features Now with more cowbell. Aimee Degnan / aimee@hook42.com (Don t Fear) the Features Now with more cowbell. Aimee Degnan / aimee@hook42.com Me Aimee Degnan, CEO! 1996 Enterprise Web Tech & CMS! 2006 PMP, Stanford Advanced PM! 2008 Drupal! 2010 Agile: Scrum Master,

More information

CSCB07 Software Design Version Control

CSCB07 Software Design Version Control CSCB07 Software Design Version Control Anya Tafliovich Fall 2015 Problem I: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope

More information

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 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

More information

GUIDE Social Media Strategy Guide. How to build your strategy from start to finish

GUIDE Social Media Strategy Guide. How to build your strategy from start to finish GUIDE Social Media Strategy Guide How to build your strategy from start to finish Social Media Strategy Guide How to build your strategy from start to finish Whether you re a social media coordinator for

More information

Managing Innovation. A guide to help you adopt a more structured approach to managing innovation in your business

Managing Innovation. A guide to help you adopt a more structured approach to managing innovation in your business Managing Innovation A guide to help you adopt a more structured approach to managing innovation in your business There are many definitions of innovation but, in its simplest form, it can be said to be

More information

Help. F-Secure Online Backup

Help. F-Secure Online Backup Help F-Secure Online Backup F-Secure Online Backup Help... 3 Introduction... 3 What is F-Secure Online Backup?... 3 How does the program work?... 3 Using the service for the first time... 3 Activating

More information

Version control systems. Lecture 2

Version control systems. Lecture 2 Version control systems Lecture 2 VCS Many people s version- control method of choice is to copy files into another directory (e.g. a @me- stamped directory). But this approach is error prone. Easy to

More information

CS 2112 Lab: Version Control

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

More information

Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester

Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester Continuous Integration and Bamboo Ryan Cutter CSCI 5828 2012 Spring Semester Agenda What is CI and how can it help me? Fundamentals of CI Fundamentals of Bamboo Configuration / Price Quick example Features

More information

Flumes Short User Guide to Subversion

Flumes Short User Guide to Subversion Flumes Short User Guide to Subversion Peter Nordin January 7, 2014 This guide is primarily meant as an introduction to Subversion for users of the svn accounts administered by the Division of Fluid and

More information

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. 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

More information

Using SVN to Manage Source RTL

Using SVN to Manage Source RTL Using SVN to Manage Source RTL CS250 Tutorial 1 (Version 083010a) August 30, 2010 Yunsup Lee In this tutorial you will gain experience using the Subversion (SVN) to manage your source RTL and code. You

More information

CASE STUDY. Vicano INDUSTRIAL CLIENT: VICANO

CASE STUDY. Vicano INDUSTRIAL CLIENT: VICANO INDUSTRIAL CASE STUDY Vicano CLIENT: VICANO CHALLENGE: Both at the office and in the field, Vicano regularly encountered difficulties with managing, saving, and organizing all of their important documentation.

More information

The care of open source creatures. Vincent Sanders

The care of open source creatures. Vincent Sanders The care of open source creatures Vincent Sanders What am I on about? An examination of: What a services a project ought to have What options exist to fulfil those requirements A practical look at some

More information

Automatic promotion and versioning with Oracle Data Integrator 12c

Automatic promotion and versioning with Oracle Data Integrator 12c Automatic promotion and versioning with Oracle Data Integrator 12c Jérôme FRANÇOISSE Rittman Mead United Kingdom Keywords: Oracle Data Integrator, ODI, Lifecycle, export, import, smart export, smart import,

More information

Introduction to Subversion

Introduction to Subversion Introduction to Subversion Getting started with svn Matteo Vescovi 19/02/2010 Agenda A little bit of theory Overview of Subversion Subversion approach to Version Control Using Subversion Typical subversion

More information

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies About the author My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies I am going to take you through the journey that my team embarked on as we looked for ways to automate processes,

More information

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE Contents Working in Teams with CaseComplete... 2 Need an introduction to how version control works?... 2 Exclusive Checkout... 3 Multiple

More information