December 22, 2024
Software Development Life Cycle Automation
Using CodePipeline Build and Deploy .Net Application
- To build a .Net application from source, use an MSBuild Windows Image in ECR
- MSBuild image is stored in ECR
- After build completes, resulting package is stored in S3 Build Artifacts folder
- CodeDeploy picks up the build package from S3 and sends it to Elastic Beanstalk for deployment
- CodeDeploy can invoke a Powershell script to run a schema update executable
- CodeDeploy cannot run schema update sql scripts directly
- CodeDeploy can run scripts to package the sql scripts as executable, then run that
- CodeDeploy can work directly with an MSBuild container image in ECR
- MSBuild is needed to compile .Net code
AWS CodeStar Roles
- Owner
- Contributor
- Viewer
CodePipeline and Jenkins
- Jenkins can be an Action Provider in CodePipeline
- Jenkins cannot be a Source Provider in CodeDeploy
CodeCommit Notifications
- CodeCommit Notifications can send email, etc when a PR is created or updated
- CodeCommit Triggers only fire when someone pushes to a repository
- Triggers do not fire when a PR is created or updated
CodePipeline Artifact Stores
- When you create or edit a pipeline
- an artifact store must be identified in the same region
- you must have one bucket in each region where you run actions
- you can use the default AWS encryption key
- OR you can set custom key rotation with your own Customer Managed Key (CMK)
AWS Serverless Application Model
- Canary Deployment Preference
- traffic shifted in two increments
- Configure a post-traffic hook in a Lambda function
- Lambda runs a sanity test
- Lambda is invoked by CodeDeploy after traffic shift completes
- Definition of Deployment Preference for Canary Deployment:
- type: Linear10PercentEvery10Minutes
- defined in AWS SAM template
- If any CloudWatch alarms go into Alarm state
- CodeDeploy flips Alias back to old version
- CodeDeploy reports failure to CloudFormation
Loading comments...