在互联网上搜索了一种通过circleCI将我的应用程序部署到Elastic beanstalk的直接方法之后,我想我可以帮助其他试图通过这篇文章做同样的事情的人。在github上签出ryansimms,因为这种方法是基于他在CircleCI 2.0上的方法,这是我让它工作的起点。
BRANCHNAME-my-applicationBRANCHNAMEstaging-my-application
[environment-name].[application-region].elasticbeanstalk.com
在 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 中调用的应用程序完全相同。
另请注意:请勿在此处设置配置文件
:值,配置文件将根据您设置AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量进行设置。
如下所示,并根据您的设置
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
请注意,您的应用程序名称
应与 Elastic Beanstalk 上的名称相同
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仪表板中设置。
当然,欢迎提出更正和建议,以改进做法。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。