Introduction
AWS CodeDeploy is a service that automates the deployment of code to any instance, including Amazon EC2 and on-premises instances. AWS CodeDeploy allows you to quickly release new features, avoid downtime during deployment, and manage the complexity of updating your apps.
AWS CodePipeline
AWS CodePipeline is a completely managed continuous delivery service that assists you in automating your release pipelines for quick and reliable application and infrastructure changes.
Based on the release model you set, CodePipeline automates the build, test, and deploy parts of your release process every time there is a code change. This allows you to provide features and upgrades quickly and consistently. AWS CodePipeline can be easily integrated with third-party services like GitHub or your own custom plugin. You only pay for what you use with AWS CodePipeline. There are no hidden costs or long-term obligations.
AWS CodePipeline features
AWS CodePipeline is a continuous integration and continuous delivery service for fast and reliable application and infrastructure updates. We can use CodePipeline to fully model and automate our software release processes.
Workflow modeling
A pipeline outlines how a new code change travels through your release process and defines your release process workflow. A pipeline is made up of several steps (for example, develop, test, and deploy) that operate as logical divisions in your process. Each stage consists of a series of steps, such as writing code or deploying to test environments. AWS CodePipeline provides a graphical user interface for creating, configuring, and managing your pipeline, as well as its many phases and activities, so you can easily view and model your release process workflow.
AWS integrations
AWS CodePipeline may pull source code straight from AWS CodeCommit, GitHub, Amazon ECR, or Amazon S3 for your pipeline. It can use AWS CodeBuild to conduct builds and unit tests. CodePipeline can use AWS CodeDeploy, AWS Elastic Beanstalk, Amazon Elastic Container Service (Amazon ECS), or AWS Fargate to deploy your modifications.
As part of your release process, you can model AWS CloudFormation activities that allow you to provision, edit, or delete AWS resources. With the AWS Serverless Application Model, you can also constantly provide serverless apps developed with AWS Lambda, Amazon API Gateway, and Amazon DynamoDB (AWS SAM).
Custom plugins
You can link your own bespoke solutions using AWS CodePipeline. By connecting the CodePipeline open-source agent with your servers, you can register a custom action that allows you to hook your servers into your pipeline. The CodePipeline Jenkins plugin may also be used to quickly register your current build servers as custom actions.
Declarative templates
AWS CodePipeline lets you specify the structure of your pipeline using a declarative JSON document that specifies your release workflow, phases, and actions. These documents allow you to upgrade existing pipelines and serve as starting points for new pipeline creation.
Set Up a CI/CD Pipeline on AWS
A pipeline allows you to automate processes in your software delivery process, such as starting automatic builds and deploying to Amazon EC2 instances. You'll utilize AWS CodePipeline, a service that builds, tests, and delivers your code based on the release process models you describe every time there's a code change. To choreograph each step of your release process, use CodePipeline. Other AWS services will be connected to CodePipeline as part of your setup to complete your software delivery pipeline. This tutorial will show you how to build a simple pipeline that pulls code from a source repository and deploys it to an Amazon EC2 instance automatically.
Source:Amazon AWS