Engine Yard 部署

此页面记录使用下一个主要版本 dpl v2 进行的部署,该版本目前处于 beta 版发布阶段。请参阅 我们的博客文章 了解详细信息。当前默认版本是 dpl v1。查看 dpl v1 文档

请务必阅读 v2 部署概述

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

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

deploy:
  provider: engineyard
  api_key: <encrypted api_key>
  edge: true # opt in to dpl v2

或者,您可以使用 emailpassword

deploy:
  provider: engineyard
  email: <email>
  password: <encrypted password>

Engine Yard API 令牌可以从 这里 获得。

状态 #

对 Engineyard 部署的支持处于 **alpha** 阶段。有关详细信息,请参阅 成熟度级别

已知选项 #

使用以下选项来进一步配置部署。需要使用 api_keyemailpassword

api_key Engine Yard API 密钥 - **秘密**,类型:字符串,注意:可以在 https://cloud.engineyard.com/cli 获得
email Engine Yard 帐户电子邮件 - 类型:字符串
password Engine Yard 密码 - **秘密**,类型:字符串
app Engine Yard 应用程序名称 - 类型:字符串,默认:仓库名称
env Engine Yard 应用程序环境 - 类型:字符串,别名:environment
migrate Engine Yard 迁移命令 - 类型:字符串
account Engine Yard 帐户名称 - 类型:字符串

共享选项 #

cleanup 在部署之前从 Git 工作目录中清理构建工件 - 类型:布尔值
run 部署成功完成后要执行的命令 - 类型:字符串或字符串数组

环境变量 #

如果所有选项都以 ENGINEYARD_EY_ 为前缀,则可以作为环境变量给出。

例如,api_key 可以作为

  • ENGINEYARD_API_KEY=<api_key>
  • EY_API_KEY=<api_key>

保护秘密 #

秘密选项值应作为构建配置(.travis.yml 文件)中的加密字符串或仓库设置中的环境变量给出。

可以在仓库设置页面上设置环境变量,也可以使用 travis env set 设置。

travis env set ENGINEYARD_API_KEY <api_key>

为了在将选项值添加到 .travis.yml 文件时对其进行加密,请使用 travis encrypt

travis encrypt <api_key>

或者使用 --add 直接将其添加到 .travis.yml 文件中。请注意,此命令必须在仓库的根目录中运行

travis encrypt --add deploy.api_key <api_key>

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

默认情况下,应用程序名称将从您的仓库名称推断出来。

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

deploy:
  provider: engineyard
  # ⋮
  app: <app-name>

将分支部署到不同的应用程序或环境 #

为了根据当前分支选择应用程序或环境,请使用单独的部署配置

deploy:
  - provider: engineyard
    # ⋮
    env: production
    on:
      branch: master
  - provider: engineyard
    # ⋮
    env: staging
    on:
      branch: staging

或使用 YAML 引用

deploy:
  - &deploy
    provider: engineyard
    # ⋮
    env: production
    on:
      branch: master
  - <<: *deploy
    env: staging
    on:
      branch: staging

运行迁移 #

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

deploy:
  provider: engineyard
  # ⋮
  migrate: rake db:migrate

拉取请求 #

请注意,拉取请求构建会完全跳过部署步骤。

另请参阅 #