Document deployment strategy a.k.a "is it live?"
I would like to formalize our deployment strategy for this project, so that things go live at the expected place and time.
-
When
- Should I always deploy every change in the
master
branch to all the courses? - Should I wait for approval before deploying?
- Should I always deploy every change in the
-
What
- Uploading new or changed files to a course is live immediately, right?
- Sometimes the blocks that use the code need to be changed, but that needs to be published to go live, which I should never do, right?
-
Where
- What is the best way for me to determine which courses use the code from this project? Clicking through all the blocks of every course is not an option. Should we maintain a list somewhere? For now I just open a few likely courses and check the Files & Uploads contains stuff from this project.
- Are all the listed courses still in use and relevant?
- Are there courses I should never mess with?
- Should I deploy changes in one language only to the courses in that language?
-
Who
- Should I notify people before and/or after each deployment?
- Is a message in Mattermost sufficient for that?