Skip to main content

CI/CD & Environments

Azure DevOps controlled how library changes moved through the environment chain.

Release flow​

Feature branch
│
▼
Pull request / merge
│
▼
main branch
│
▼
Azure DevOps pipeline
│
▼
┌─────────────────┐
│ TEST │ automatic deployment
└────────┬────────┘
│
▼
Approval gate
│
▼
┌─────────────────┐
│ ACCEPTANCE │
└────────┬────────┘
│
▼
Approval gate
│
▼
┌─────────────────┐
│ PRODUCTION │
└─────────────────┘

Environment behavior​

EnvironmentDeployment behavior
TestUpdated automatically after changes reached the deployment branch
AcceptancePromotion required approval
ProductionPromotion required a second approval

Why this was better than manual uploads​

Before automation, file movement can easily become an operational task:

developer
↓
copy file
↓
upload manually
↓
hope correct environment was changed

The pipeline turns that into:

repository
↓
repeatable deployment
↓
controlled promotion

Release responsibility​

The workflow separates two concerns:

  • developers create and validate changes
  • controlled approvals govern higher environments

That gives faster iteration in Test without removing control from Acceptance and Production.

Sanitized version of the original architecture​

The original project diagram contained real internal environment names and URLs. The public version intentionally reduces it to the architecture that matters:

branch → main → Azure DevOps
│
├── Test Blob → Planon Test
│
├── approval → Acc Blob → Planon Acceptance
│
└── approval → Prod Blob → Planon Production