Session

CI and other tools for feature branch development


Status: 
Accepted
Experience level: 
Intermediate
Speaker(s): 
Language: 
Russian
Track: 
Session Time Slot(s): 
Sunday, May 18, 2014 - 15:50 to 16:30

Working in teams is always a challenge. Have you ever had situation when all your team members commit to master branch and right before the release someone accidentally does commit that breaks everything? Or someone haven't finished his feature within the deadline and it holds the release? If yes -- this session is for you as we will talk about how to avoid these situations using feature branch development.   Beside simple idea of having different features in different git branches we will also talk about tools to support this workflow. For example you need multiple team members to work on the same feature and they need a host to see each other changes real life. Or after feature is finished we need to allow QA to do the review and that person should not bother with installing the site locally, switch git branch, set up database etc.   We will talk about https://github.com/ygerasimov/featurebranch project that allows to set up server to spin hosts per branch, copy databases etc.   As this instrument uses CI Jenkins and phing we will talk about them as well. We will see how to edit your phing scripts to fit your project specific tasks, add automated testing on deployments etc.   We will also talk about git flow (http://nvie.com/posts/a-successful-git-branching-model) that will help your team to keep branches well organized.   This session is aimed to help your organization to implement feature-branch workflow.