7. 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
8. GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
I.2 Create branches from dev
13. 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”
14. GIT Steps
Step 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)
16. 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
17. GIT Steps
Step 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
20. 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
21. GIT Steps
Step 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
24. GIT Steps
Step 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 output
Approve/Deny
26. GIT Steps
Step 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 output
Approve/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
30. GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE (severity: medium/low)
II.1 Create hotfix branch
II.2 Add commits Add commits
34. GIT Steps
Step 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
37. GIT Steps
Step 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 output
Approve/Deny
39. GIT Steps
Step 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 output
Approve/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
41. GIT Steps
Step 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
43. GIT Steps
Step 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.2
Create branch for fixing bugs
(bugfix) from previous Release Point
(release branch)
44. GIT Steps
Step 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.2
Create branch for fixing bugs
(bugfix) from previous Release Point
(release branch)
III.3 Add commits Add commits
46. GIT Steps
Step 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.2
Create 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
48. GIT Steps
Step 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.2
Create 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
50. GIT Steps
Step 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.2
Create 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