CircleCI에서 ElasticBeanstalk로 배포 환경을 프로덕션 및 Staging으로 만들기
여기에서는 소스 제어에 BitBucket을 사용하고 있어 (프라이빗 리포지토리에서도 타다이고) 거기에서 CircleCI 사용하여 프로덕션 환경과 Staging 환경에 자동 배포하는 구조를 만들고 싶었습니다.
소스 수상은 진짜 일 수 없기 때문에 ....
그래서 서버 환경은 AWS의 클라우드 환경에서는 유명한 PaaS인 ElasticBeanstalk(이하 EB)를 사용하고 있습니다. Heroku의 대항 말이란 것이겠지만 다소는 EC2나 RDS의 지식 없이는 다루지 않는 것이 미소입니다.
그래서 이것이 서버입니다.
BitBucket에는 master 이외에 staging의 브랜치를 잘라냅니다.
여기에서는 앱을 만드는 방법이나 BitBucket에 커밋, 푸시, 브랜치를 만드는 방법은 할애합니다.
다른 사이트에서 참고하십시오.
자동 배포 사용하지 않을 때 배포 정보
BitBucket에 올린 후 EB의 CLI를 사용하여
eb deploy
라고 두드리는 것이 길입니다.EB의 CLI(CommandLineInterface) 설치 방법은 여기를 참조하십시오.
htp : //에서 v.ぁsss d. jp / e tc / a ws-e b-mu l chi p 로후 ぇ /
h tp : // 쿠이타. m / Toshihiro ck / ms / 593 17d42 a 8d1d533 a 49
CircleCI 설정
AWS에 액세스하기 위한 설정(AWS AccessKey 및 SecretKey 준비)
내 앱에 CircleCI 설정
앱 디렉토리 바로 아래에 circle.yml이라는 파일을 설치. Yaml은 Yamllint라는 사이트에서 서식이 잘못되었는지 확인하면 좋다.
circle.yml
machine:
python:
version: 2.7.6
dependencies: # EB CLIをCircleCIサーバ上にインストール
pre:
- pip install awsebcli
database: # 勝手にCircleCIのデータベースへの操作が行われるような記載がされるのでなにもしないように以下を記入
override:
- exit 0
test: # 勝手にCircleCIのテストの操作が行われるような記載がされるのでなにもしないように以下を記入(テスト必要ならここに記載)
override:
- exit 0
deployment:
staging:
branch: staging # BitBucketブランチ名
commands:
- eb deploy vegewel-staging
production:
branch: master # BitBucketブランチ名
commands:
- eb deploy vegewel
내 앱에 EB 관계를 설정합니다.
자신의 앱상에
eb init
하면 멋대로 .elasticbeanstalk/config.yml
가 작성되지만 master나 staging으로 각각 전환하여 설정하면 짜증나게 됩니다.그래서 마지막은 손으로 다음과 같이 수정하면 깨끗이 할 것.
eb deploy master
라든지 eb deploy staging
하면 배포하는 분의 브랜치를 선택할 수 있습니다. 이 설정은 CircleCI의 배포에도 효과를 발휘하므로 이 파일도 커밋해 둡니다..elasticbeanstalk/config.yml
branch-defaults:
master:
environment: vegewel
staging:
environment: vegewel-staging
global:
application_name: vegewel
default_ec2_keyname: vegewel
default_platform: 64bit Amazon Linux 2016.03 v2.1.6 running Ruby 2.3 (Passenger
Standalone)
default_region: ap-northeast-1
sc: git
주의점입니다만, 처음에
eb init
라고 하면(자) default_region: ap-northeast-1
아래에 profile: eb-cli
라고 쓰여집니다. PC에서 배포하는 경우 이 설정이 필요하지만 CircleCI에서 자동 배포하면 이 행이 있으면 오류가 발생합니다. 그래서 이번 경우에는 삭제합니다.여기까지 설정할 수 있으면 git 명령이라도 SourceTree에서도 좋기 때문에 Staging이나 Master 브랜치에 커밋 → 푸시 해 보세요. 직후 CircleCI의 화면을 보면 Deploy 작업이 running 하고 있는 것을 알 수 있을 것이다.
되면 OK. 그리고는 Master/Staging 환경을 열면 커밋한 소스가 반영되어 있을 것입니다.
부디 시험을.
Reference
이 문제에 관하여(CircleCI에서 ElasticBeanstalk로 배포 환경을 프로덕션 및 Staging으로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hardreggaecafe/items/995ad9a278e80c903e42텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)