git workflow step by step

53
GIT WORKFLOW STEP BY STEP Presenter: BinhQD Twitter: @binhqd Github: binhqd LinkedIn: /in/binhqd

Upload: binh-quan-duc

Post on 12-Feb-2017

840 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Git workflow step by step

GIT WORKFLOW STEP BY STEP

Presenter: BinhQD

Twitter: @binhqd

Github: binhqd

LinkedIn: /in/binhqd

Page 2: Git workflow step by step
Page 3: Git workflow step by step
Page 4: Git workflow step by step

ROLES

1. Developer

2. Team Lead

3. Tester

4. QM

Page 5: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

I.1 Create issues - Create “develop” branch- Create/Assign issues

Page 6: Git workflow step by step

STEPS: STEP 1 - Creat develop branch

Page 7: Git workflow step by step

NOTE

❖ develop must be branched from master

❖ Developers are not allowed to push their commit directly to

this branch

❖ Issue’s title must be meaningful and need to be applied with

label(s): Urgent, Block, Bug, Support, Enhancement, etc

Page 8: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

I.1 Create issues - Create “develop” branch- Create/Assign issues

I.2 Create branches from dev

Page 9: Git workflow step by step

STEPS: STEP 2 - Create feature branch from develop

Page 10: Git workflow step by step

NOTE

❖ feature branches must be created from develop

❖ develop must be up-to-date before creating new branch

Page 11: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

I.1 Create issues - Create “develop” branch- Create/Assign issues

I.2 Create branches from dev

I.3 Add commits

Page 12: Git workflow step by step

STEPS: STEP 3 - Add commits

Page 13: Git workflow step by step

NOTE

❖ Ignore files/dirs that unrelated to project or contain

development information

❖ Each commit must be clean

❖ Don’t include works of other commit

❖ Add issue references

❖ Each commit message should follow “Commit Message

Convention”

Page 14: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

I.1 Create issues - Create “develop” branch- Create/Assign issues

I.2 Create branches from dev

I.3 Add commits

I.4 Create Pull Requests (PR)

Page 15: Git workflow step by step

STEPS: STEP 4 - Create Pull Request

Page 16: Git workflow step by step

NOTE

❖ Developers must test their code by themselves before

creating a Pull Request

❖ Developers must review their code line by line, file by file

before create a PR

❖ Add issue references

Page 17: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

I.1 Create issues - Create “develop” branch- Create/Assign issues

I.2 Create branches from dev

I.3 Add commits

I.4 Create Pull Requests (PR)

I.5 - Review PRs- Merge PRs Do testing per PR. Review by random pick

Page 18: Git workflow step by step

STEPS: STEP 5 - Review & Merge PR

Page 19: Git workflow step by step

STEPS: STEP 5 - Review & Merge more PRs

Page 20: Git workflow step by step

NOTE

❖ Team lead must review developer’s code carefully before

doing a Merge

➢ Convention/Standard

➢ Typo

➢ Detect hidden issues, risk

➢ Running CI

➢ Merge locally and running demo

❖ Reject:

➢ Add reject comment

❖ Approve & Merge

Page 21: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

I.1 Create issues - Create “develop” branch- Create/Assign issues

I.2 Create branches from dev

I.3 Add commits

I.4 Create Pull Requests (PR)

I.5 - Review PRs- Merge PRs Do testing per PR. Review by random pick

I.6

- Create/Merge branch for releases (release)- Running CI- Create new branches for fixing bugs (bugfix) from release- Update bug fixes back to develop

Regressive Test per release on Staging site (UAT)

Review regressive test result.Approve/Deny

Page 22: Git workflow step by step

STEPS: STEP 6 - Create release branch

Page 23: Git workflow step by step

STEPS: STEP 6 - Fix bugs for release branch

Page 24: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

I.1 Create issues - Create “develop” branch- Create/Assign issues

I.2 Create branches from dev

I.3 Add commits

I.4 Create Pull Requests (PR)

I.5 - Review PRs- Merge PRs Do testing per PR. Review by random pick

I.6

- Create/Merge branch for releases (release)- Running CI- Create new branches for fixing bugs (bugfix) from release- Update bug fixes back to develop

Regressive Test per release on Staging site (UAT)

Review regressive test result.Approve/Deny

I.7

Req: Approval from QM- Create PR from release branch to master- Running CI- Test Restore script

Review CI outputApprove/Deny

Page 25: Git workflow step by step

STEPS: STEP 7 - Create PR from release to master

Page 26: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

I.1 Create issues - Create “develop” branch- Create/Assign issues

I.2 Create branches from dev

I.3 Add commits

I.4 Create Pull Requests (PR)

I.5 - Review PRs- Merge PRs Do testing per PR. Review by random pick

I.6

- Create/Merge branch for releases (release)- Running CI- Create new branches for fixing bugs (bugfix) from release- Update bug fixes back to develop

Regressive Test per release on Staging site (UAT)

Review regressive test result.Approve/Deny

I.7

Req: Approval from QM- Create PR from release branch to master- Running CI- Test Restore script

Review CI outputApprove/Deny

I.8

Req: Approval from QM- Merge PR from Release to master- Running CI:

+ Auto Deployment+ Auto Tag for each Release

Regressive Test per merged PR (UAT)

Review regressive test output

Page 27: Git workflow step by step

STEPS: STEP 8 - Review & Merge PR to master

Page 28: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE (severity: medium/low)

II.1 Create hotfix branch

Page 29: Git workflow step by step

STEPS: Create bugfix for master

Page 30: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE (severity: medium/low)

II.1 Create hotfix branch

II.2 Add commits Add commits

Page 31: Git workflow step by step

STEPS: Fix bug for hotfix branch

Page 32: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE (severity: medium/low)

II.1 Create hotfix branch

II.2 Add commits Add commits

II.3 Create PR

Page 33: Git workflow step by step

STEPS: Create PR for hotfix

Page 34: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE (severity: medium/low)

II.1 Create hotfix branch

II.2 Add commits Add commits

II.3 Create PR

II.4- Review PRs- Merge PRs from developers to hotfix

Do testing per PR

Page 35: Git workflow step by step

STEPS: Review & Merge PR for hotfix

Page 36: Git workflow step by step

STEPS: Continue fixing bugs for hotfix

Page 37: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE (severity: medium/low)

II.1 Create hotfix branch

II.2 Add commits Add commits

II.3 Create PR

II.4- Review PRs- Merge PRs from developers to hotfix

Do testing per PR

II.5

- Create PR from hotfix branch to Master- Running CI- Test Restore script

Review CI outputApprove/Deny

Page 38: Git workflow step by step

STEPS: Create PR to update master

Page 39: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE (severity: medium/low)

II.1 Create hotfix branch

II.2 Add commits Add commits

II.3 Create PR

II.4- Review PRs- Merge PRs from developers to hotfix

Do testing per PR

II.5

- Create PR from hotfix branch to Master- Running CI- Test Restore script

Review CI outputApprove/Deny

II.6

Req: Approval from QM- Merge PR from hotfix to master- Running CI:

+ Auto Deployment+ Auto Tag for each Release

Regressive Test per merged PR (UAT)

Review regressive test output

Page 40: Git workflow step by step

STEPS: Review & Merge master from bugfix

Page 41: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE caused critical issues (Blocking issues)

III.1 Restore LIVE to previous TAG using script

Regressive test after restore Review changes

Page 42: Git workflow step by step

STEPS: Revert to previous version

Page 43: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE caused critical issues (Blocking issues)

III.1 Restore LIVE to previous TAG using script

Regressive test after restore Review changes

III.2Create branch for fixing bugs (bugfix) from previous Release Point (release branch)

Page 44: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE caused critical issues (Blocking issues)

III.1 Restore LIVE to previous TAG using script

Regressive test after restore Review changes

III.2Create branch for fixing bugs (bugfix) from previous Release Point (release branch)

III.3 Add commits Add commits

Page 45: Git workflow step by step

STEPS: Fixing bugs for release branch

Page 46: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE caused critical issues (Blocking issues)

III.1 Restore LIVE to previous TAG using script

Regressive test after restore Review changes

III.2Create branch for fixing bugs (bugfix) from previous Release Point (release branch)

III.3 Add commits Add commits

III.4 Create PR - Update bugfix back to develop

Page 47: Git workflow step by step

STEPS: Create PR for release branch from bugfixes

Page 48: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE caused critical issues (Blocking issues)

III.1 Restore LIVE to previous TAG using script

Regressive test after restore Review changes

III.2Create branch for fixing bugs (bugfix) from previous Release Point (release branch)

III.3 Add commits Add commits

III.4 Create PR

III.5

- Review PRs- Merge PRs from bugfix to release Do testing per PR. Review by random pick

Page 49: Git workflow step by step

STEPS: Review & Merge bug fixes for release

Page 50: Git workflow step by step

GIT StepsStep Developer Team Lead Tester QM

If errors occurs on LIVE caused critical issues (Blocking issues)

III.1 Restore LIVE to previous TAG using script

Regressive test after restore Review changes

III.2Create branch for fixing bugs (bugfix) from previous Release Point (release branch)

III.3 Add commits Add commits

III.4 Create PR

III.5

- Review PRs- Merge PRs from bugfix to release Do testing per PR. Review by random pick

Back to I.7

Page 51: Git workflow step by step

STEPS: Create PR from release to master

Page 52: Git workflow step by step

Back to step I.7 for to complete the workflow

Page 53: Git workflow step by step

Thanks