In this chapter, we established a foundational understanding of what CI/CD is and how it supports the software delivery processes. This is key for software automation, which further drives digital innovation. Selecting a tool from countless options available these days can be a difficult task. We discussed key areas that could simplify the selection process.
Next, we learned about AWS services that offer great functionality, scale, and integration support in the CI/CD space. Starting with a basic understanding of each, we went further into the details of key differentiating features when using these services, in combination or isolation. They should always be seen as modular blocks that can stand up on their own, or work with another tool to build something customized. To see things in action, we deployed a real application stack in our AWS account and created a software change rollout pipeline using CodePipeline. This exercise was meant to expose you to how these building blocks work so that you can extend them further to cater to your specific needs. Toward the very end, we covered differentiating aspects of two commonly used tools for managing software life cycles in the cloud – Jenkins and CodePipeline.
In this chapter, all of our infrastructure code definitions have leveraged CloudFormation YAML templates. However, that’s just one of the options AWS offers. In Chapter 6, Programmatic Approach to IaC with AWS CDK, we will use TypeScript programming constructs to create our infrastructure. This service is a game changer for organizations that are heavily invested in one of the supported programming languages and would like to build on that experience to create AWS infrastructure at scale.
Further reading
To learn more about the topics that were covered in this chapter, take a look at the following resources:
- AWS CodePipeline integration examples: https://docs.aws.amazon.com/ codepipeline/latest/userguide/integrations-community-blogposts. html
- Integrating CodeDeploy with a GitHub Actions-based workflow:https://github.com/ aws-samples/aws-codedeploy-github-actions-deployment
- Practicing Continuous Integration and Continuous Delivery on AWS whitepaper: https:// docs.aws.amazon.com/whitepapers/latest/practicing-continuous-integration-continuous-delivery/welcome.html