eb deploy
Elastic beanstalk를 사용한 어플리케이션 배포를 할 경우 eb-cli
의 deploy
명령을 사용해 쉽게 배포할 수 있다.
문제는, 공식 문서에서 deploy
가 어떻게 이루어지는지 자세히 알려주지 않아 에러 메시지를 봐도, 뭘 어떻게 해야할지 모른다는 것이다. 그래서 직접 deploy
의 시퀀스를 알아냈고, 여기에 정리한다.
deploy
가 이루어지는 과정
- elastic beanstalk 프로젝트인지 확인한다.
.elasticbeanstalk
디렉토리가 있다면 문제 없다. - 프로젝트가 git을 사용하는지 확인한다. 만약 git을 사용한 프로젝트라면
.elasticbeanstalk/configuration.yml
의src
부분이git
으로 지정된다.
- 이떄부터
deploy
는 git에 의존성을 가지게 된다. - 프로젝트 형상은 git을 통해서만 얻는다!!!
git commit
이나git add
를 사용해 프로젝트 형상을 넣어야 한다. 현재 프로젝트 아무리 수정해도 git에 넣지 않으면 eb-cli도 모른다.
- 이떄부터
git
의 HEAD로부터 프로젝트 통쨰로 소스를 가져오고, 가져온 소스를{label}.zip
으로 압축한다.- 압축한 프로젝트 파일을 s3에 업로드한다.
- 4의 파일을 각 ec2 instance에 배포한다.
- 4의 파일이 모든 ec2 instance에 배포될 때까지 상태를 감시한다.
- 모든 배포가 문제없이 끝나면 배포가 성공되었음을 알린다.
이다.
나의 경우 Single Docker Application형태로 배포하므로, Dockerfile
이나 Dockerrun.aws.json
파일 중 적어도 하나는 eb-cli
가 찾을 수 있어야 했었다.
'WebDev > Backend' 카테고리의 다른 글
AWS EC2 New SSH User (0) | 2016.03.28 |
---|---|
Dynamodb Index (0) | 2016.01.25 |
DynamoDB Operator (0) | 2016.01.24 |
django deploy with sqlite3 (0) | 2016.01.22 |
Cross Domain AJAX (0) | 2016.01.21 |