15. New Feature Git Workflow
Pull master branch
checkout new branch named feature/new-feature-description
16. New Feature Git Workflow
Pull master branch
checkout new branch named feature/new-feature-description
change code <where the magic happens>
17. New Feature Git Workflow
Pull master branch
checkout new branch named feature/new-feature-description
change code <where the magic happens>
Commit changes and open pull request against the develop
branch
18. New Feature Git Workflow
Pull master branch
checkout new branch named feature/new-feature-description
change code <where the magic happens>
Commit changes and open pull request against the develop branch
Wait for two peers to approve changes <jeopardy theme plays>
19. New Feature Git Workflow
Pull master branch
checkout new branch named feature/new-feature-description
change code <where the magic happens>
Commit changes and open pull request against the develop branch
Wait for two peers to approve changes <jeopardy theme plays>
Merge pull request into the develop branch
32. Code Freeze and Release
Branches
Two Week Release Cycle
Wednesday before release is a Release Candidate Code Freeze
Release branches are created from develop branch
Release branches deployed to staging servers
33. Testing on Staging Servers
Two Week Release Cycle
Wednesday before release is a Release Candidate Code Freeze
Release branches are created from develop branch
Release branches deployed to staging servers
Developers & Clients test changes on staging servers & sign off
From Wednesday to Tuesday is testing time
34. Production Deployment
Two Week Release Cycle
Wednesday before release is a Release Candidate Code Freeze
Release branches are created from develop branch
Release branches deployed to staging servers
Developers & Clients test changes on staging servers & sign off
From Wednesday to Tuesday is testing time
Tuesday following the RC freeze is production deploy
Release branches are Merged into master via same 2 peer approval pull request
process
35. Production Deployment
Two Week Release Cycle
Wednesday before release is a Release Candidate Code Freeze
Release branches are created from develop branch
Release branches deployed to staging servers
Developers & Clients test changes on staging servers & sign off
From Wednesday to Tuesday is testing time
Tuesday following the RC freeze is production deploy
Release branches are Merged into master via same 2 peer approval pull request process
Code is deployed to production
37. Hotfixes and Bugfixes
Hotfixes are branches named hotfix/description that are opened
against master
Hotfixes are how we patch production
38. Hotfixes and Bugfixes
Hotfixes are branches named hotfix/description that are opened
against master
Hotfixes are how we patch production
Bug fixes are when we find issues after the RC freeze but before RC
branch merging to master
Bug fix branches are named bugfix/description that are opened
against the release branch
41. Jenkins Automation
Build & Run Tests
Build Docker Images & Test
Build & Deploy Applications
Sound the alarms when something breaks
Slack Notifications in a CI/CD Channel
50. Lock To A Minor Version
{
"require": {
"aol/core": “^17.10",
}
}
51. We now have access to all of the logic
in Core in all of our applications
52. Core Git Workflow
No develop branch
No Hotfixes, or Bugfix branches
All changes are via pull request against master
After PRs are approved and merged version tags are bumped
Semantic versioning is your friend
Individual applications update their own core versions at their own pace
(During normal deployment cycles)