脚本部署

此页面记录了使用下一个主要版本 dpl v2 的部署,该版本目前处于 Beta 发布阶段。请参阅 我们的博文 以获取详细信息。当前默认版本为 dpl v1。请查看 此处提供的 dpl v1 文档

请务必阅读 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

Pull Request #

请注意,Pull Request 构建完全跳过部署步骤。

另请参阅 #