SlideShare uma empresa Scribd logo
1 de 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

Mais conteĂşdo relacionado

Mais procurados

Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015mwrather
 
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
 
Git 101
Git 101Git 101
Git 101jayrparro
 
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
 

Mais procurados (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
 

Semelhante a Flow

Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with gitJoseluis Laso
 
Working with Git
Working with GitWorking with Git
Working with GitTony Hillerson
 
Introduction into Git
Introduction into GitIntroduction into Git
Introduction into GitSerhii Kartashov
 
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
 
Working with Git
Working with GitWorking with Git
Working with GitSanghoon Hong
 
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
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to gitNguyen Van Hung
 
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
 

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

Mais de Eugen Martynov

My path to freelance
My path to freelanceMy path to freelance
My path to freelanceEugen Martynov
 
Template project
Template projectTemplate project
Template projectEugen Martynov
 
Android Brown Bag Lunch - DroidconNL overview
Android Brown Bag Lunch - DroidconNL overviewAndroid Brown Bag Lunch - DroidconNL overview
Android Brown Bag Lunch - DroidconNL overviewEugen Martynov
 
Robolectric Adventure
Robolectric AdventureRobolectric Adventure
Robolectric AdventureEugen Martynov
 
Mobile developer is Software developer
Mobile developer is Software developerMobile developer is Software developer
Mobile developer is Software developerEugen Martynov
 
XP Days UA Pecha kucha
XP Days UA Pecha kuchaXP Days UA Pecha kucha
XP Days UA Pecha kuchaEugen Martynov
 

Mais 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
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

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