AWS CodePipeline is a fully managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates.
- **CodeBuild:** Compiles your C# code and runs unit tests in a clean Docker container.
- **CodeDeploy:** Safely pushes the new binary/container to EC2, Lambda, or ECS (supports Blue-Green deployments).
- **CodePipeline:** Orchestrates the whole flow from GitHub to Production.
You can add a manual 'Approval' step before the production deploy. CodePipeline will send an SNS notification (e.g., to Slack or Email), and a manager must click 'Approve' before the deployment continues. This provides the perfect balance between automation and governance.
Q: "Should I use CodePipeline or GitHub Actions?"
Architect Answer: "Use **GitHub Actions** for simple CI (build/test). Use **CodePipeline** if you need deep integration with AWS features like **Blue-Green** deployments on ECS/Lambda, or if you want to keep your deployment logic inside your VPC for maximum security."