Back to articles
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...