Elastic Beanstalk 으로 배포 환경을 구성하여 travis 파일에 배포 내용을 작성하겠습니다.
둘다 aws에서 제공하는 서비스이다.
EC2 는 일종의 하나의 컴퓨터를 임대하는 것과 같습니다.
Elastic Beanstalk 는 EC2와 데이터베이스 같은 것들을 포함하여 소프트웨어 업데이트 시 자동으로 환경 관리를 해주는 것입니다.
(Elastic Beanstalk 환경을 구성하면 EC2도 생성이 됩니다.)
travis 파일에 aws와 연동 되었음을 알려주는 파일을 작성해야합니다.
deploy:
provide: > 외부 서비스 표시 (s3, elasticbeanstalk 등)
region: > 현재 사용하고 있는 aws의 서비스의 물리적 장소
(ex. ap-nortest-2)
app: > 2번에서 만든 어플리케이션 이름
env: > 2번을 생성하고 나면 나오는 환경 이름
bucket_name > elasticbeanstalk을 위한 s3버켓 이름
(2번을 완료하면 s3버켓은 자동으로 생성된다)
bucket_path > 어플리케이션 이름과 동일
on
branch > 어떤 브랜치에 push를 할 때 aws에 배포 할 건지
위의 내용을 입력한 뒤에 secret key도 입력해주어야한다.
secret key를 입력해줘야 travis ci 와 aws가 실질적으로 소통할 수 있다.
secretkey는 AWS IAM을 통해 발급받을 수 있습니다.
하면 엑세스키와 비밀엑세스키가 나오는데, travis 파일에 직접 입력하면 우리가 소스코드를 git에 올렸을 때 다른 사람이 볼 수가 있습니다.
그래서 보안상 다른 곳에 올려둔 후, travis 파일에 이를 가져오는 방식으로 해야합니다.
ex.
4번에서 입력한 name이 AWS_ACCESS_KEY / AWS_SECRET_ACCESS_KEY 라면
access_key_id: $AWS_ACCESS_KEY
secret_access_key: $AWS_SECRET_ACCESS_KEY