- AWS CodePipeline
- 파이프라인 이란?
- 한 처리단계의 '출력'이 -> 다음 처리단계의 '입력'으로 "이어지는 연결구조".
- (흔희, 각 처리단계를 동시에 병렬적으로 수행가능한 아키텍쳐로 응용)
- CodeCommit -> CodeBuild -> CodeDeploy 가 유기적으로 잘 동작하도록 구성하면 됨.
- 실습) Elastic-Container
- 1) 개발자가 (DockerFile,requirements.txt,buildspec.yaml)을 갖춘 Source 푸쉬.
- 2) CloudWatch가 해당 이벤트를 감지하고, CodeBuild에 전달하는 방식을 권장.
- 3) CodeBuild는 Source Artifact를 기반으로 빌드를 진행. (ECR에 해당 DockerImage 푸쉬)
- 4) 이후, CodeDeploy는 Build Artifact를 기반으로 배포를 진행. (ECS에 해당 Task 서비스)
- 실습) Lambda
- 파이프라인 구성을, 단순히 CodeCommit -> CodeDeploy 식으로 하면...
- 결과적으로~ appspec.yaml 파일 아티팩트 처리가 자동으로 안됨.
- 그냥... https://docs.aws.amazon.com/lambda/latest/dg/build-pipeline.html 이대로 똑같이 하면 됨.
- Repository
- : 소스코드가 push되면, S3으로 복사를 한뒤~ 'Build Project' 으로 전달 됨.
- Build Project
- : 전달된 소스코드를 build하고, application을 package함.
- : 해당 소스코드엔 (배포를 위해) SAM템플릿 관련 명령어 등으로 구성된 buildspec.yaml 이 있어야 됨.
- Deployment configuration
- : "전달받은 SAM템플릿 취득 -> CloudFormation의 change-set 생성 -> 해당 stack 업데이트" 식의 일련의 작업을 정의.
- AWS CloudFormation stack
- : 배포 단계에서 SAM템플릿을 기반으로 stack이 생성된다. stack에는 람다 등등의 리소스로 구성이 된다.
- Roles : 각각의 단계에서는 AWS 리소스를 다룰수있는 적절한 롤이 잘 부여 되 있어야 한다.
- Repository
- 즉, [CodeCommit -> CodeBuild -> CloudFormation : change-set 생성 및 실행] 구조의 파이프라인!!
- 파이프라인 이란?
- 번외 AWS CodeStar)
- 개발자가 일일이 하지않고, CodeStar의 "각종 프로젝트 템플릿"으로 한방에 할수도있다...
- AWS CodeCommit
- (이전글...)
- AWS CodeBuild
- (이후글...)
- AWS CodeDepoly
- (이후글...)
-
-끝-
'AWS' 카테고리의 다른 글
Amazon CloudWatch (0) | 2020.04.25 |
---|---|
Amazon EC2 (1) | 2020.03.14 |
AWS CodeCommit (0) | 2020.03.10 |
AWS Lambda (0) | 2020.03.08 |
Amazon S3 (0) | 2020.03.05 |