Our traction instances are currently updates as follows:
dev is automatically updated every time a new change is merged into main
test and prod are updated manually, by executing a helm upgrade command once a new release is created
To reduce the possibility of human error and dependency on specific team members, the CI/CD pipeline should:
helm upgrade the test instance with the latest published release (if the same, the operation will be idempotent and nothing will change) when executed
wait for confirmation to update prod from a team member/admin
nice to have: if a new upgrade is kicked-off for test before the old prod environment is upgraded, cancel the previous upgrade action and keep the latest one only active
prod upgrade requests may need to have a timeout/expiry to prevent them from sitting there indefinitely
This could be implemented in GHA or, depending on the outcome of our conversation with the Platform team, using ArgoCD.
Our traction instances are currently updates as follows:
dev
is automatically updated every time a new change is merged intomain
test
andprod
are updated manually, by executing ahelm upgrade
command once a new release is createdTo reduce the possibility of human error and dependency on specific team members, the CI/CD pipeline should:
helm upgrade
thetest
instance with the latest published release (if the same, the operation will be idempotent and nothing will change) when executedprod
from a team member/admintest
before the oldprod
environment is upgraded, cancel the previous upgrade action and keep the latest one only activeprod
upgrade requests may need to have a timeout/expiry to prevent them from sitting there indefinitelyThis could be implemented in GHA or, depending on the outcome of our conversation with the Platform team, using ArgoCD.