SlideShare une entreprise Scribd logo
1  sur  20
Work and Build Flows
Pre
• This is our initial agreement and we are looking to
evaluate if there is better solution
• Currently investigating
https://bitbucket.org/atlassian/maven-jgitflow-plugin to
avoid hand work as much as possible
Gitflow
Vincent Driessen http://nvie.com/posts/a-successful-git-branching-model/
• Main branches
– master
– develop
• Supporting branches
– feature
– release
– hotfix
Other view by stability
Picture from:
http://johanleino.wordpress.com/2013/05/06/using-gitflow-with-visual-studio-and-sourcetree/
• More stable
branch is
upper
Start a feature (story)
• Git
– Git flow
• git flow feature start FEATURE
– Git
• git checkout -b feature/FEATURE develop
• FEATURE = <EDB-1222->some-meaningful-name
• Change artifact version in pom to <version>-FEATURE
Publish/pull feature (story)
• Git flow
– git flow feature publish FEATURE
• Git
– git push origin feature/FEATURE
• Git flow
– git flow feature pull FEATURE
• Git
– git pull --rebase origin feature/FEATURE
Finish a feature (story)
• Git
– Git flow
• git flow feature finish FEATURE
– Git
• git checkout develop
• git merge --no-ff feature/FEATURE
• git branch -d feature/FEATURE
• Fix artifact version in the pom
• Delete apk from file dev, artifactory and sonar project
Start a release
• Git
– Git flow
• git flow release start VERSION [BASE]
– Git
• git branch -b release/VERSION develop [BASE]
• Change version from snapshot to release pom
• Increase version in develop pom
Finish a release
• Git
– Git flow
• git flow release finish VERSION
– Git
• git checkout master
• git merge --no-ff release/VERSION
• git tag -a VERSION
• git checkout develop
• git merge --no-ff release/VERSION
• git branch -d release/VERSION
• Change version to snapshot in pom
Start a hotfix
• Git
– Git flow
• git flow hotfix start VERSION
– Git
• git branch -b hotfix/VERSION master
• Increase version in hotfix pom
Finish a hotfix
• Git
– Git flow
• git flow hotfix finish VERSION
– Git
• git checkout master
• git merge --no-ff hotfix/VERSION
• git tag -a VERSION
• git checkout develop (release/VERSION)
• git merge --no-ff hotfix/VERSION
• git branch -d hotfix/VERSION
• Change version to snapshot in pom
Versions checklist
• develop and feature branches must have SNAPSHOT version
• Increase develop version as soon as we started release
• release, hotfix and master branches should have RC candidate
and not snapshot version until released
• Hotfixes under unreleased versions increases version from
RC<n> to RC<n+1>
• master should have ‘clear’ version us soon as we released
• tag master branch every time when we distribute build
• Publish (Push) features, releases, hotfixes and tags
– git push --tags origin
• Pull before publishing
– git pull --rebase origin feature/FEATURE
• Merge conflicts during rebasing
– git add FILE
– git rebease --continue
– to revert: git rebase --abort
Working with Git
• History manipulating
– git checkout/revert/reset
– git commit --amend
• Untracked files
– git clean
• Save temporary work
– git stash
Manage changes with Git
• branches
– develop is default
– feature/* are active
• deploy folder is latest
– *devapp.apk
– *feature-devapp.apk
• live/beta/public beta are built on demand
TeamCity development configuration
• branches
– hotfix/* are active
– release/* are active
– master is default branch
• deploy folder is pre-release
TeamCity RC configuration
• branches
– master is active
• deploy folder is release-candidate
• build is pinnable (deploy to beta.ebuddy.com)
• build archived
• Note: version is still RC
TeamCity public beta configuration
• branches
– master is active
• deploy folder is market
• build is pinnable (to save in TC)
• build archived
TeamCity market configuration
Our TeamCity screenshot
• Gitflow
– http://nvie.com/posts/a-successful-git-branching-model/
– http://danielkummer.github.io/git-flow-cheatsheet/
• Git
– http://www.atlassian.com/dms/wac/images/landing/git/atlassian_git_che
– http://www.atlassian.com/git
– http://gitready.com/
Resources

Contenu connexe

Tendances

Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015mwrather
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git聖文 鄭
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflowsArthur Shvetsov
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practiceMajid Hosseini
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewRueful Robin
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHubRick Umali
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started PresentationNap Ramirez
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open SourceLorna Mitchell
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?John Congdon
 
Git Introduction
Git IntroductionGit Introduction
Git IntroductionGareth Hall
 
Git tutorial git branches 20131206-Bryan
Git tutorial   git branches 20131206-BryanGit tutorial   git branches 20131206-Bryan
Git tutorial git branches 20131206-BryanLearningTech
 

Tendances (20)

Git & Github
Git & GithubGit & Github
Git & Github
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 
Mini git tutorial
Mini git tutorialMini git tutorial
Mini git tutorial
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started Presentation
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
Git advanced
Git advancedGit advanced
Git advanced
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Git 101
Git 101Git 101
Git 101
 
Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?
 
GitHub
GitHubGitHub
GitHub
 
Open source
Open sourceOpen source
Open source
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Git tutorial git branches 20131206-Bryan
Git tutorial   git branches 20131206-BryanGit tutorial   git branches 20131206-Bryan
Git tutorial git branches 20131206-Bryan
 

Similaire à Flow

Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with gitJoseluis Laso
 
Git workflows
Git workflowsGit workflows
Git workflowsXpand IT
 
Git version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSGit version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSMurughan Palaniachari
 
Managing e commerce systems codebase with git
Managing e commerce systems codebase with gitManaging e commerce systems codebase with git
Managing e commerce systems codebase with gitBruno Ricardo Siqueira
 
Git workshop - University of Moratuwa, Department of Computer Science and Eng...
Git workshop - University of Moratuwa, Department of Computer Science and Eng...Git workshop - University of Moratuwa, Department of Computer Science and Eng...
Git workshop - University of Moratuwa, Department of Computer Science and Eng...WSO2
 
Git-flow workflow and pull-requests
Git-flow workflow and pull-requestsGit-flow workflow and pull-requests
Git-flow workflow and pull-requestsBartosz Kosarzycki
 
.Git for WordPress Developers
.Git for WordPress Developers.Git for WordPress Developers
.Git for WordPress Developersmpvanwinkle
 
Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Ciro Miranda
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsGorav Singal
 
Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Chen-Han Hsiao
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git TutorialSage Sharp
 

Similaire à Flow (20)

git Technologies
git Technologiesgit Technologies
git Technologies
 
Git collaboration
Git collaborationGit collaboration
Git collaboration
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
Working with Git
Working with GitWorking with Git
Working with Git
 
Introduction into Git
Introduction into GitIntroduction into Git
Introduction into Git
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Git version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSGit version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTS
 
Managing e commerce systems codebase with git
Managing e commerce systems codebase with gitManaging e commerce systems codebase with git
Managing e commerce systems codebase with git
 
Git workshop - University of Moratuwa, Department of Computer Science and Eng...
Git workshop - University of Moratuwa, Department of Computer Science and Eng...Git workshop - University of Moratuwa, Department of Computer Science and Eng...
Git workshop - University of Moratuwa, Department of Computer Science and Eng...
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
 
3 Git
3 Git3 Git
3 Git
 
Git-flow workflow and pull-requests
Git-flow workflow and pull-requestsGit-flow workflow and pull-requests
Git-flow workflow and pull-requests
 
Git basic
Git basicGit basic
Git basic
 
.Git for WordPress Developers
.Git for WordPress Developers.Git for WordPress Developers
.Git for WordPress Developers
 
Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)
 
Working with Git
Working with GitWorking with Git
Working with Git
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 

Plus de Eugen Martynov

Plus de Eugen Martynov (13)

Kotlin Script
Kotlin ScriptKotlin Script
Kotlin Script
 
My path to freelance
My path to freelanceMy path to freelance
My path to freelance
 
Gradle Again
Gradle AgainGradle Again
Gradle Again
 
Android CD
Android CDAndroid CD
Android CD
 
Lokalise
LokaliseLokalise
Lokalise
 
DI with Dagger2
DI with Dagger2DI with Dagger2
DI with Dagger2
 
Facebook Stetho
Facebook StethoFacebook Stetho
Facebook Stetho
 
Template project
Template projectTemplate project
Template project
 
Robolectric v2
Robolectric v2Robolectric v2
Robolectric v2
 
Android Brown Bag Lunch - DroidconNL overview
Android Brown Bag Lunch - DroidconNL overviewAndroid Brown Bag Lunch - DroidconNL overview
Android Brown Bag Lunch - DroidconNL overview
 
Robolectric Adventure
Robolectric AdventureRobolectric Adventure
Robolectric Adventure
 
Mobile developer is Software developer
Mobile developer is Software developerMobile developer is Software developer
Mobile developer is Software developer
 
XP Days UA Pecha kucha
XP Days UA Pecha kuchaXP Days UA Pecha kucha
XP Days UA Pecha kucha
 

Dernier

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Dernier (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Flow

  • 2. Pre • This is our initial agreement and we are looking to evaluate if there is better solution • Currently investigating https://bitbucket.org/atlassian/maven-jgitflow-plugin to avoid hand work as much as possible
  • 3. Gitflow Vincent Driessen http://nvie.com/posts/a-successful-git-branching-model/ • Main branches – master – develop • Supporting branches – feature – release – hotfix
  • 4. Other view by stability Picture from: http://johanleino.wordpress.com/2013/05/06/using-gitflow-with-visual-studio-and-sourcetree/ • More stable branch is upper
  • 5. Start a feature (story) • Git – Git flow • git flow feature start FEATURE – Git • git checkout -b feature/FEATURE develop • FEATURE = <EDB-1222->some-meaningful-name • Change artifact version in pom to <version>-FEATURE
  • 6. Publish/pull feature (story) • Git flow – git flow feature publish FEATURE • Git – git push origin feature/FEATURE • Git flow – git flow feature pull FEATURE • Git – git pull --rebase origin feature/FEATURE
  • 7. Finish a feature (story) • Git – Git flow • git flow feature finish FEATURE – Git • git checkout develop • git merge --no-ff feature/FEATURE • git branch -d feature/FEATURE • Fix artifact version in the pom • Delete apk from file dev, artifactory and sonar project
  • 8. Start a release • Git – Git flow • git flow release start VERSION [BASE] – Git • git branch -b release/VERSION develop [BASE] • Change version from snapshot to release pom • Increase version in develop pom
  • 9. Finish a release • Git – Git flow • git flow release finish VERSION – Git • git checkout master • git merge --no-ff release/VERSION • git tag -a VERSION • git checkout develop • git merge --no-ff release/VERSION • git branch -d release/VERSION • Change version to snapshot in pom
  • 10. Start a hotfix • Git – Git flow • git flow hotfix start VERSION – Git • git branch -b hotfix/VERSION master • Increase version in hotfix pom
  • 11. Finish a hotfix • Git – Git flow • git flow hotfix finish VERSION – Git • git checkout master • git merge --no-ff hotfix/VERSION • git tag -a VERSION • git checkout develop (release/VERSION) • git merge --no-ff hotfix/VERSION • git branch -d hotfix/VERSION • Change version to snapshot in pom
  • 12. Versions checklist • develop and feature branches must have SNAPSHOT version • Increase develop version as soon as we started release • release, hotfix and master branches should have RC candidate and not snapshot version until released • Hotfixes under unreleased versions increases version from RC<n> to RC<n+1> • master should have ‘clear’ version us soon as we released • tag master branch every time when we distribute build
  • 13. • Publish (Push) features, releases, hotfixes and tags – git push --tags origin • Pull before publishing – git pull --rebase origin feature/FEATURE • Merge conflicts during rebasing – git add FILE – git rebease --continue – to revert: git rebase --abort Working with Git
  • 14. • History manipulating – git checkout/revert/reset – git commit --amend • Untracked files – git clean • Save temporary work – git stash Manage changes with Git
  • 15. • branches – develop is default – feature/* are active • deploy folder is latest – *devapp.apk – *feature-devapp.apk • live/beta/public beta are built on demand TeamCity development configuration
  • 16. • branches – hotfix/* are active – release/* are active – master is default branch • deploy folder is pre-release TeamCity RC configuration
  • 17. • branches – master is active • deploy folder is release-candidate • build is pinnable (deploy to beta.ebuddy.com) • build archived • Note: version is still RC TeamCity public beta configuration
  • 18. • branches – master is active • deploy folder is market • build is pinnable (to save in TC) • build archived TeamCity market configuration
  • 20. • Gitflow – http://nvie.com/posts/a-successful-git-branching-model/ – http://danielkummer.github.io/git-flow-cheatsheet/ • Git – http://www.atlassian.com/dms/wac/images/landing/git/atlassian_git_che – http://www.atlassian.com/git – http://gitready.com/ Resources