Decide on Release Promotion Strategy
Problem and Context
We need to control when a release is deployed to a given stage (E.g. dev, staging, production).
We must decide how releases will be promoted from staging to production.
How that will be accomplished will depend on whether or not GitHub Enterprise features are available and whether or not it’s possible to use semantic versioning or not.
Assumptions
- Auto deployment to the
dev
stage will be triggered upon every commit to the default branch (e.g.main
)
Options
Option A: Automatically Deploy to Staging on Every Release, Use GitHub Approval Steps for Production
Pros
-
Natively supported by GitHub
-
Environment protection rules ensure RBAC restricts who can approve deployments