요즘 AWS CodeDeploy Agent 오픈소스 커미터되기 스터디를 하고 있다.
AWS CodeDeploy Agent 코드를 분석하면서 알게 된 내용들을 틈틈이 정리해보고자 한다 👩🎓
1. CodeDeploy
CodeDeploy의 기본적인 구동 방식
( 참고 링크 )
1. AWS CodeDeploy Agent 코드를 다운받아서, AWS EC2에 실행시켜두기
2. AWS CodeDeploy 에서 배포하기
3. AWS CodeDeploy에서 배포되었다는걸, Agent가 감지하면 코드를 EC2에 복사시켜준다.
EC2에 CodeDeploy 세팅하는 방법
https://jojoldu.tistory.com/281
CodeDeploy에서 배포할 코드를 가져오는 방법
1. S3에 배포할 파일 압축해서 올려두기
압축해제하면, appspec.yml 파일이 최상단에 나와야함
2. GitHub에 올려둔 배포할 커밋 지정하기
( 형상관리로 github를 안쓰면, S3 업로드 방식을 써야할 듯 )
CodeDeploy 배포 설정파일
appspec.yml
( 대략 이런 느낌 appspec.yml )
- AWS CodeDeploy Agent가 appsepc 파일을 읽어서, 배포될 폴더 경로, 로그 관리 등등을 알아차린다.
- 이 파일은 배포할 프로젝트 파일에 둔다.
- destination은 항상 폴더다. ( reference-appspec-file-structure-files )
- files는 여러개를 지정할 수 있다. 한번의 배포로 여러 배포 목적지를 지정할 수 있다.
CodeDeploy 배포방법
- AWS Console > Code Deploy 페이지에서 배포하거나, 로컬에서 AWS CLI 명령문으로 배포하면 된다.
로컬 CLI 명령문 샘플은 다음과 같다.
aws deploy create-deployment
--application-name 어플리케이션이름
--deployment-config-name CodeDeployDefault.AllAtOnce
--deployment-group-name 배포그룹명
--file-exists-behavior 파일이_이미_존재하는_경우_처리방식에_대한_옵션설정
--description "배포 설명"
--s3-location bucket=배포할파일버킷위치,bundleType=zip,eTag=배포파일eTag,key=배포파일명
AWS CLI - Deploy Create Deployment
빈스톡에서도 두가지 방식으로 배포할 수 있었는데, 다 비슷한듯 ㅎㅎ
'소프트웨어-이야기 > 인프라' 카테고리의 다른 글
[APM]Elastic APM Agent 튜닝하기 (2) | 2019.12.31 |
---|---|
AWS CodeDeploy와 AWS CodeDeploy Agent (2) - B. CodeDeployAgent (0) | 2018.11.17 |
(도커) docker component 쓰기 (0) | 2018.03.20 |
(AWS) S3 SELECT - S3 파일에 쿼리 날려서 필요한 데이터만 다운받기 (4) | 2018.03.01 |
[beanstalk]eb cli으로 배포 시, 주의할점 (2) | 2018.01.27 |