reference deployment

.NET Core CI/CD on AWS

Deploy an automated .NET Core application pipeline

This solution provides an automated continuous integration and continuous delivery (CI/CD) environment on the Amazon Web Services (AWS) Cloud. It's for developers who are looking to implement a CI/CD pipeline for their .NET Core applications.

The .NET Core CI/CD environment manages application updates using AWS CodePipeline, AWS CodeBuild, and AWS CodeDeploy. The CI/CD pipeline polls a GitHub repository for updates. Whenever code is modified within the configured repository branch, the pipeline fetches the latest source code and automatically builds the application. It then deploys the application to an AWS Elastic Beanstalk environment running Amazon Linux 2.

This scalable deployment helps you deliver features and updates rapidly and reliably. You have no build servers to manage, and you pay only for what you use.

This solution was developed by AWS.

  •  What you'll build
  • This solution sets up the following:

    • An Amazon Simple Storage Service (Amazon S3) bucket for holding artifacts.
    • An Elastic Beanstalk environment that acts as the target when the application's latest build package is deployed.
    • A CI/CD pipeline with source, build, and deploy stages.

    The source stage invokes CodePipeline every time the code changes in the configured GitHub repository branch. This stage configures GitHub, which integrates the application source code via webhooks. It then fetches the latest GitHub code and places it in an S3 bucket in the Source Artifacts directory.

    The build stage invokes CodeBuild, which fetches the source code from the S3 bucket. The CodeBuild-provided Amazon Linux 2 Docker image for .NET Core compiles the latest source code using the steps provided in the associated BuildSpec.yml file. The resulting build package is placed in the Build Artifacts directory in the S3 bucket.

    The deploy stage invokes CodeDeploy to fetch the build package from the S3 bucket and deploy it to the Elastic Beanstalk environment.

  •  How to deploy
  • To deploy .NET Core CI/CD, follow the instructions in the deployment guide. The deployment process, which takes about 10 minutes, includes these steps:

    1. If you don't already have an AWS account, sign up at https://aws.amazon.com, and sign in to your account.
    2. Launch the solution.
    3. Test the deployment by starting a CI/CD pipeline. You can use the sample application that's included with the solution.

    Amazon may share user-deployment information with the AWS Partner that collaborated with AWS on this solution.  

  •  Costs and licenses
  • There are no licensing requirements for this solution.

    You are responsible for the cost of the AWS services and any third-party licenses used while running this solution. There is no additional cost for using the solution.

    This solution includes configuration parameters that you can customize. Some of these settings, such as instance type, affect the cost of deployment. For cost estimates, refer to the pricing pages for each AWS service you use. Prices are subject to change.

    Tip: After you deploy a solution, create AWS Cost and Usage Reports to track associated costs. These reports deliver billing metrics to an Amazon Simple Storage Service (Amazon S3) bucket in your account. They provide cost estimates based on usage throughout each month and aggregate the data at the end of the month. For more information, refer to What are AWS Cost and Usage Reports?