Deploying containers, binaries and scripts — quick notes
Containers, binaries, scripts — quick notes
| Principle | Detail |
|---|---|
| Build once, deploy many | Same artifact to every environment |
| Environment differences | Belong in configuration, not separate builds |
| Containers | Deploy by digest; alternatively use a unique, never-reused tag and lock it after deployment |
| Pipeline Artifact | Run-scoped files; deleting the run deletes its associated artifacts |
| Feed package | Exact versioned payload; Azure Artifacts permanently reserves a published version number |
| Scripts | Prior target state can affect imperative results; handle prior and partial state idempotently |
Traps
- Rebuilding per environment — you no longer ship what you tested.
- A reused
:latesttag can resolve to a different image by production deployment time.
Sources: https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-400 · https://learn.microsoft.com/en-us/azure/well-architected/operational-excellence/workload-supply-chain · https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/publishing-workflows · https://learn.microsoft.com/en-us/azure/devops/pipelines/artifacts/pipeline-artifacts · https://learn.microsoft.com/en-us/azure/devops/pipelines/process/create-multistage-pipeline · https://learn.microsoft.com/en-us/azure/azure-app-configuration/faq · https://learn.microsoft.com/en-us/azure/container-registry/container-registry-image-tag-version · https://learn.microsoft.com/en-us/azure/container-registry/container-registry-concepts · https://learn.microsoft.com/en-us/azure/devops/pipelines/process/tasks · https://learn.microsoft.com/en-us/azure/well-architected/operational-excellence/maturity-model · https://learn.microsoft.com/en-us/azure/devops/artifacts/artifacts-key-concepts · https://docs.github.com/en/packages/learn-github-packages/introduction-to-github-packages