before looking into AWS CodePipeline, let’s try to investigate AWS CI/CD tools
AWS CI/CD tools
- CodeCommit
- CodeBuild
- CodeDeploy
- CodePipeline
AWS CodeCommit
'AWS CodeCommit' provides similar functionality to ‘GitHub’.
(AWS CodeCommit ≈ GitHub)
AWS CodeCommit is a fully-managed source control service.
It provides a secure security and highly scalable platform for hosting private Git repositories.
When configuring servers on AWS, there are advantages to using AWS CodeCommit over GitHub, including faster speeds and secure security to maintain secure security.
Using CodeCommit, developers can store and version their code securely in the cloud, collaborate on code changes, and integrate with other AWS services. (AWS CodeBuild, AWS CodePipeline, AWS CodeDeploy, and AWS Lambda)
Therefore, if you have already been managing your code on GitHub,
it is easy to migrate to CodeCommit with just a few configurations, so I recommend giving it a try.
AWS CodeBuild
AWS CodeBuild is a fully-managed Continuous Integration (CI) service.
It allows you to build and test your code automatically,
and then produce deployable artifacts such as Docker containers or compiled code.
With CodeBuild, you can configure your build environment and customize the build process for your specific application requirements.
→ For example, if CodeBuild fails, it indicates that the code would not work in the real server environment.
CodeBuild supports a variety of programming languages, build tools, and operating systems, and it integrates with other AWS services. (AWS CodeCommit, AWS CodePipeline, AWS Elastic Beanstalk, and AWS Lambda)
→ Easy to integrate with existing software development processes.
AWS CodeDeploy
AWS CodeDeploy is a fully-managed deployment service.
It automates software deployments to a variety of compute services such as Amazon EC2, AWS Fargate, AWS Lambda, and on-premises servers.
With CodeDeploy, you can deploy your code reliably and rapidly to one or more instances at a time.
CodeDeploy automates the entire deployment process, including pre and post-deployment tests, and allows you to roll back deployments if necessary.
It supports multiple deployment strategies, including blue/green deployments, canary deployments, and in-place deployments.
After running tests with AWS CodeBuild, the code is compressed and uploaded to S3.
Then, users can deploy the desired files to actual server instances via CodeDeploy.
This is one way to understand the process.
AWS CodePipeline
AWS CodePipeline is a fully managed Continuous Delivery (CD) service that helps you automate your software release process.
CodePipeline is an all-in-one service that encompasses all the stages of
code management (i,e. CodeCommit), testing&building (i.e.CodeBuild), and deployment (i.e.CodeDeploy).
It enables you to model, visualize, and automate the steps required to release your software.
With CodePipeline, you can quickly and easily deliver updates to your application, while maintaining the quality and reliability of your code.
The point here is that each stage can also be integrated with third-party services.
For example, testing&building can be customized through Jenkins and code management can be done through Github, allowing for a customized configuration of the entire pipeline.
CodePipeline configuration
- Source
- Build
- Deploy
Reference
'클라우드(AWS)' 카테고리의 다른 글
[AWS] Serverless 란 쉽게 개념 정리 (0) | 2023.10.07 |
---|---|
[AWS 보안] Security Group 와 Network ACL 차이점 쉽게 정리 (보안그룹, NACL: Network Access Control List) (0) | 2023.10.05 |
CRON expressions 표현식 (0) | 2023.04.24 |
[AWS] [Elastic Container Service] ECS의 구조와 특징 쉽게 이해하기 (0) | 2023.03.28 |
[AWS] [ECS] Task Role vs. Execution Role 차이 (2) | 2023.03.28 |