CircleCi 2.1 및 TravisCI를 통해 Elastic Beanstalk에 애플리케이션 배포
CircleCi 2.1을 통해 Amazon Elastic Beanstalk에 테스트 및 배포
circleCI를 통해 내 애플리케이션을 Elastic beanstalk에 배포하는 간단한 방법을 찾기 위해 인터넷을 샅샅이 뒤진 후, 저는 이 게시물을 통해 다른 사람들이 동일한 작업을 수행하도록 도울 수 있다고 생각했습니다. 이 방법은 이 작업을 시작하기 위한 시작점인 his method for CircleCI 2.0을 기반으로 하므로 github에서 ryansimms를 확인하십시오.
먼저 다음 단계에 따라 AWS IAM 사용자를 설정합니다(CircleCI의 고유한 사용자 권장).
참고: 이전에는 AWSElasticBeanstalkFullAccess였지만 더 이상 사용되지 않습니다.
> 사용자의 Access-Key-ID와 Secret-Access-key를 안전한 곳에 복사해 두십시오.
Elastic Beanstalk 애플리케이션 설정
BRANCHNAME-my-application
스테이징 브랜치와 마스터 브랜치가 있으므로 이 작업을 수행하므로 EB 구성에서 BRANCHNAME
를 CircleCi에서 제공하는 $CIRCLE_BRANCH 환경 변수로 대체할 것입니다. 예를 들어 스테이징 브랜치를 배포할 때 Elastic Beanstalk의 staging-my-application
환경에. [environment-name].[application-region].elasticbeanstalk.com
에서 샘플 애플리케이션을 볼 수 있습니다.CircleCi에 배포 사용자 환경 변수 추가
CircleCI에서
다음 키 추가: 및 해당 값
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
애플리케이션 코드에 .elasticbeanstalk/config.yml 구성 추가
branch-defaults:
master:
environment: your-app-name-$CIRCLECI_BRANCH
develop:
environment: your-app-name-$CIRCLECI_BRANCH
global:
application_name: your-app-name
default_platform: 64bit Amazon Linux 2/3.4.16
default_region: your-app-region (e.g. us-east-1)
sc: git
참고:
application_name
가 '새 애플리케이션 생성' 단계를 수행할 때 Elastic Beanstalk에서 애플리케이션을 호출한 것과 정확히 일치하는지 확인하세요.또한 참고: 여기에
profile
값을 설정하지 마십시오. 프로필은 설정한 AWS_ACCESS_KEY_ID 및 AWS_SECRET_ACCESS_KEY 환경 변수를 기반으로 설정됩니다..circleci/config.yml 업데이트
다음과 같이 설정에 따라
version: 2.1
jobs:
# add commands to run your test if you have them otherwise skip this
test-me:
docker:
- image: cimg/node:14.19
steps:
- run: my test script
# deployment starts here
deploy-me:
docker:
- image: cimg/python:3.10
steps:
- checkout
- run: pip3 --version
- run:
working_directory: /
name: installing ebcli
command: pip3 install awsebcli --upgrade --user
- run: eb --version
- run:
name: deploying with awsebcli
command: eb deploy your-app-name-$CIRCLE_BRANCH
workflows:
test-then-deploy:
jobs:
- test-me
- deploy-me:
context: aws-creds
filters:
branches:
only:
- master
- staging
requires:
- testme
참고
your-app-name
는 Elastic Beanstalk의 것과 동일해야 합니다.이제 우리는 기다립니다
Extras, -TravisCI 사용자 전용
이
deploy
단계를 .travis.yml
파일에 추가하면 이상적으로 작동합니다.deploy:
provider: elasticbeanstalk
region: "us-east-1"
app: "your-app-name"
env: " your-app-environment-name"
bucket: elasticbeanstalk-us-east-1-398485943999
bucket_path: "your-app-name"
on:
branch: master
access_key_id: $AWS_ACCESS_ID
secret_access_key: $AWS_SECRET_KEY
참고:
us-east-1
를 해당 애플리케이션 지역으로 바꿉니다.참고2: AWS_ACCESS_ID 및 AWS_SECRET_KEY 환경 변수는 TravisCI 대시보드에서 설정해야 합니다.
Corrections and suggestions for better practices would of course be welcome
Reference
이 문제에 관하여(CircleCi 2.1 및 TravisCI를 통해 Elastic Beanstalk에 애플리케이션 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/retr0ville/deploying-an-application-to-elastic-beanstalk-via-circleci-21-and-travisci-1afc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)