Using CI/CD systems and pipelines to deploy with Amazon SAM
Amazon SAM helps organizations create pipelines for their preferred CI/CD systems, so that they can realize the benefits of CI/CD with minimal effort, such as accelerating deployment frequency, shortening lead time for changes, and reducing deployment errors.
Amazon SAM simplifies CI/CD tasks for serverless applications with the help of build container images. The images that Amazon SAM provides include the Amazon SAM CLI and build tools for a number of supported Amazon Lambda runtimes. This makes it easier to build and package serverless applications using the Amazon SAM CLI. These images also alleviate the need for teams to create and manage their own images for CI/CD systems. For more information about Amazon SAM build container images, see Image repositories for Amazon SAM.
Multiple CI/CD systems support Amazon SAM build container images. Which CI/CD system you should use depends on several factors. These include whether your application uses a single runtime or multiple runtimes, or whether you want to build your application within a container image or directly on a host machine, either a virtual machine (VM) or bare metal host.
Amazon SAM also provides a set of default pipeline templates for multiple CI/CD systems that encapsulate Amazon's deployment best practices. These default pipeline templates use standard JSON/YAML pipeline configuration formats, and the built-in best practices help perform multi-account and multi-region deployments, and verify that pipelines cannot make unintended changes to infrastructure.
You have two main options for using Amazon SAM to deploy your serverless applications: 1) Modify your existing pipeline configuration to use Amazon SAM CLI commands, or 2) Generate an example CI/CD pipeline configuration that you can use as a starting point for your own application.
Topics
What is a pipeline?
A pipeline is an automated sequence of steps that are performed to release a new version of an application.
With Amazon SAM, you can use many common CI/CD systems to deploy your applications, including Amazon CodePipeline
Pipeline templates include Amazon deployment best practices to help with multi-account and multi-Region deployments. Amazon environments such as dev and production typically exist in different Amazon accounts. This allows development teams to configure safe deployment pipelines, without making unintended changes to infrastructure.
You can also supply your own custom pipeline templates to help to standardize pipelines across development teams.