---
title: Deployment workflow
---
flowchart LR
dev(["Developer"])
subgraph azdo["Azure DevOps"]
repo["Azure Repos"]
pipeline["Azure Pipelines"]
subgraph runner["Pipeline runner\n(Kubernetes, Windows, Linux, macOS, ...)"]
create_release["Create release"]
publish["Publish binaries"]
rollback["Rollback deployment"]
watch["Watch for monitoring alerts\n(Azure Monitor, Prometheus, ...)"]
subgraph build["Build"]
binaries["Build binaries\n(Visual Studio, Maven, ...)"]
container["Build container\n(Docker, Azure Container Registry, ...)"]
infra["Build infrastructure\n(Helm Chart, ...)"]
end
subgraph sast["Static Application Security Testing"]
sast_code["Static code analysis\n(Semgrep, SonarQube, ...)"]
sast_credentials["Avoid credentials in Git\n(Trufflehog)"]
sast_vulnerabilities["Vulnerabilities\n(OWASP Dependency Check, Snyk, ...)"]
end
subgraph integration_test["Integration tests"]
dast["Dynamic security tests\n(OWASP ZAP)"]
load["Load tests\n(JMeter, Azure Load Testing, K6, ...)"]
retrocompatibility["API retrocompatibility tests\n(Playwright, Postman, ...)"]
ui["UI tests\n(Playwright, Selenium, ...)"]
end
subgraph static_test["Static tests"]
coverage["Code coverage"]
lint["Lint\n(ESLint, Prettier, ...)"]
unit["Unit tests\n(Jest, Mocha, ...)"]
end
subgraph deploy["Deploy"]
vm["Configure VM\n(Ansible, PowerShell DSC, SCCM, ...)"]
api["API-based services\n(Terraform, Bicep, Pulumi, ...)"]
end
end
end
deploy --> integration_test
build --> publish
create_release --> deploy
integration_test -- If fails --> rollback
deploy --> watch
dev -- Push code --> repo
pipeline -. Watch for new commit .-> repo
pipeline -- Run --> runner
publish --> create_release
sast --> static_test
static_test --> build
watch -- If fails --> rollback
Created
October 12, 2023 18:32
-
-
Save clemlesne/ff3a5e87f13bcf9b68599ec8463a5580 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment