- CI/CD tool: Azure Devops Services
- Branching Strategy: Git Flow
- Build Triggers: Auto build Dev branch on PR merges, Auto build on PR creation
- Release Triggers: Create release on every build
- Deploy Triggers: Deploy to DEV on PR merges, Deploy to QA once each morning, deployments to other environments are triggered manually
- Production Release/Deployment: At the end of every sprint
- Testing Strategy: Some manual, some automated. Regression takes a week (this is too long I know, but this is where we are).
When we are feature complete, we will create a release branch. That release branch will be deployed to QA. From that point on we do not want PRs into the DEV branch to be released to QA until after we have deployed to Production.
Currently we simply turn off the deploy trigger for QA and deploy manually as necessary into the QA environment. We turn the daily deploy trigger back on once the PROD release is successful.
This has always seemed a little clunky to me.
- Should we be managing/promoting within environments differently?
- Should we look into approvals?
- Is there something we should look into updating the Deploy agent pool instead?