脚本部署

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

如果您的部署需要比 after_success 方法允许的更多自定义,请使用自定义脚本。

以下示例在您的存储库的 develop 分支上运行 scripts/deploy.sh,如果构建成功。

deploy:
  provider: script
  script: bash scripts/deploy.sh
  on:
    branch: develop

如果您需要运行多个命令,请编写一个可执行的包装脚本,它运行所有这些命令。传递给脚本部署提供者中的 script: 的参数必须是一个命令。

如果脚本返回非零状态,则部署被视为失败,并且构建将被标记为“出错”。

将参数传递给脚本 #

可以将参数传递给脚本部署。

deploy:
  # deploy develop to the staging environment
  - provider: script
    script: bash scripts/deploy.sh staging
    on:
      branch: develop
  # deploy master to production
  - provider: script
    script: bash scripts/deploy.sh production
    on:
      branch: master

该脚本可以访问所有通常的 环境变量

deploy:
  provider: script
  script: bash scripts/deploy.sh production $TRAVIS_TAG
  on:
    tags: true
    all_branches: true

Ruby 版本 #

为了确保部署一致地运行,我们使用预装在我们所有构建映像上的 Ruby 版本,该版本在映像更新时可能会更改。

  • travis_internal_ruby 函数打印确切的预装 Ruby 版本

如果您需要运行需要不同 Ruby 版本的命令(不同于预装的默认版本),则需要显式设置它

deploy:
  provider: script
  script: rvm use $TRAVIS_RUBY_VERSION do script.rb