AWS Elastic Beanstalk 部署

此页面记录了使用 dpl v1 进行的部署,dpl v1 目前是默认版本。下一个主要版本 dpl v2 将很快发布,我们建议您开始使用它。请参阅 我们的博客文章 获取详细信息。 dpl v2 文档可以在此处找到.

Travis CI 可以在构建成功后自动将您的应用程序部署到 Elastic Beanstalk

要部署到 AWS Elastic Beanstalk,请将以下内容添加到您的 .travis.yml

  • access-key-id: 加密 AWS 访问密钥 ID,从您的 AWS 控制台 获取。
  • secret-access-key: 加密 AWS 密钥,从您的 AWS 控制台 获取。
  • region: 必须是 Elastic Beanstalk 应用程序运行所在的区域,例如 us-east-1
  • app: 应用程序名称。
  • env: 将部署应用程序的 Elastic Beanstalk 环境。
  • bucket_name: 用于上传应用程序代码的存储桶名称。Elastic Beanstalk 将从该 Amazon S3 存储桶中的源包创建并部署应用程序版本。
deploy:
  provider: elasticbeanstalk
  access_key_id:
    secure: "Encrypted <access-key-id>="
  secret_access_key:
    secure: "Encypted <secret-access-key>="
  region: "us-east-1"
  app: "example-app-name"
  env: "example-app-environment"
  bucket_name: "the-target-S3-bucket"

或者,使用 Travis CI 命令行设置工具添加部署 travis setup elasticbeanstalk

在不部署的情况下创建应用程序 #

要创建应用程序而不部署它,请将 only_create_app_version: "true" 添加到您的 .travis.yml 中。

可选设置 #

  • zip_file: 要部署的 zip 文件。您还需要将 skip_cleanup 设置为防止 Travis CI 在构建结束时删除 zip 文件。如果未指定此选项,将从测试存储库中所有属于该存储库的文件(使用 git ls-files 确定)创建一个 zip 文件。
  • bucket_path: 存储桶中用于上传应用程序的位置。

环境变量 #

以下环境变量可用

  • ELASTIC_BEANSTALK_ENV: 如果您的 .travis.yml 中未设置 env 键,则使用它。
  • ELASTIC_BEANSTALK_LABEL: 新版本的标签名称。
  • ELASTIC_BEANSTALK_DESCRIPTION: 新版本的描述。默认为上次提交消息。

在部署前后运行命令 #

有时您希望在部署前后运行命令。您可以使用 before_deployafter_deploy 阶段来实现这一点。这些只会当 Travis CI 实际执行部署时触发。

before_deploy: "echo 'ready?'"
deploy:
  ..
after_deploy:
  - ./after_deploy_1.sh
  - ./after_deploy_2.sh