Engine Yard 部署

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

Travis CI 可以在构建成功后自动部署您的 Engine Yard 应用程序。

对于最小配置,您只需将以下内容添加到您的 .travis.yml

deploy:
  provider: engineyard
  api_key: "YOUR API KEY"

您也可以使用 emailpassword 代替 api_key。建议加密密钥/密码。

可选设置包括:appaccountenvironmentmigrate

您也可以使用 travis 工具为您设置好一切

$ travis setup engineyard

请记住,上述命令必须在您的项目目录中运行,以便它可以为您修改 .travis.yml

要部署的应用程序或环境 #

默认情况下,我们将尝试部署到与存储库同名的应用程序。例如,如果您从 GitHub 存储库 travis-ci/travis-chat 部署应用程序,而没有显式指定应用程序的名称,Travis CI 将尝试部署到名为 travis-chat 的 Engine Yard 应用程序。

您可以通过 app 选项显式设置名称

deploy:
  provider: engineyard
  api_key: ...
  app: my-app-123

也可以将不同的分支部署到不同的应用程序

deploy:
  provider: engineyard
  api_key: ...
  app:
    master: my-app
    foo: my-foo

这种分支特定设置适用于所有选项(on 除外),对于部署到不同的环境非常有用

deploy:
  provider: engineyard
  api_key: ...
  environment:
    master: staging
    production: production

要部署的分支 #

如果您有分支特定选项,如 上面所示,Travis CI 会自动找出要部署哪些分支。否则,它只会从您的 master 分支部署。

您也可以使用 on 选项显式指定要部署的分支

deploy:
  provider: engineyard
  api_key: ...
  on: production

或者,您也可以将其配置为从所有分支部署

deploy:
  provider: engineyard
  api_key: ...
  on:
    all_branches: true

从拉取请求触发的构建永远不会触发部署。

运行迁移 #

您可以使用 migrate 选项触发迁移

deploy:
  provider: engineyard
  api_key: ...
  migrate: "rake db:migrate"

条件发布 #

您可以在满足特定条件时进行部署。请参阅 使用 on: 进行条件发布