In this document, emojis are used to better understand the process

  • πŸ‘· = manual task
  • πŸ€– = automated task
  • πŸ• = waiting times / dependencies

Workload summary

In total, is required for a release

  • 43 πŸ‘· manual tasks
  • 2 πŸ€– automated tasks
  • 9 πŸ• waiting times / dependencies

Each release requires about one week of work for one person.

General workflow

A Git branch v1.xx must be created for each new release. Tickets are merged into this branch as we get along.

When the product manager decides that a new version should be released, it is then necessary to:

  1. merge the release branch into master
  2. release on the testing environment
  3. prepare the tickets for the staging and production deployments
  4. release on the staging environment
  5. wait for validation
  6. release on the production environment

A new release must be anticipated because the process of pushing to production is long (~2 weeks). Let’s imagine that we want to release a new version of the project on March 15, then roughly

  • pushing to the staging environment must be scheduled for March 8
  • pushing to the testing environment must be scheduled for March 1

The staging and production environments actually have 2 machines each. Each machine requires a manual deployment. A deployment is validated when developers

  • have manually tested the critical endpoints via Postman
  • have manually performed some verification on the database