SummaryAWS CodePipeline can help you rid yourself of build servers which take resources to manage and are at risk of outages affecting multiple teams. In this post, we will discuss replacing your existing CI server with a serverless solution.
Does your organization manage Jenkins or another continuous integration server for multiple teams?
If so, you have likely experienced some of the issues this may cause. System library dependent builds cause conflicts between teams. Builds become bottlenecked and everyone’s delivery pipelines grind to a halt. In addition to these problems, you have to worry about system updates, monitoring, and backup of the configuration and history. Amazon Web Services (AWS) CodePipeline can solve many of these issues for you and guarantee your team’s builds remain autonomous and automated.
CodePipeline is AWS’s solution for continuous integration and continuous delivery. Working in tandem with CodeBuild, CodePipeline allows you to chain, easily create, and manage application delivery pipelines. Each pipeline consists of multiple stages. The simplest pipeline would include source, build, and deploy stages. The source stage is used to trigger the pipeline by retrieving source from S3, Github, or CodeCommit based on some external action, typically a commit.
Once the source is retrieved, the build stage runs and produces the deployable artifact for your application. Builds typically run in CodeBuild, which utilizes Docker containers to isolate builds and run them on AWS-managed hardware. This prevents you from worrying about any conflicts between teams. While CodeBuild is the typical setup, CodePipeline also integrates with other common tools like Solano CI, Jenkins, and Blazemeter.
To deploy your application, CodePipeline integrates natively with many AWS services including:
Furthermore, custom Docker containers can be used at any stage, enabling CodePipeline to integrate with many more services.