Azure Web 应用部署

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

Travis CI 可以在构建成功后自动部署您的 Azure Web 应用

对于最小配置,您只需启用 本地 Git 部署 并将以下内容添加到您的 .travis.yml

deploy:
  provider: azure_web_apps
  username: azure_deployment_user       # If AZURE_WA_USERNAME isn't set
  password: azure_deployment_password   # If AZURE_WA_PASSWORD isn't set
  site: azure_deployment_sitename       # If AZURE_WA_SITE isn't set
  slot: azure_deployment_slotname       # (optional) If AZURE_WA_SLOT isn't set

不建议您将 Azure 部署凭据未加密地放入您的 .travis.yml 中。相反,请使用隐藏的环境变量或加密变量。

要在存储库设置中定义变量,请确保您已登录,导航到相关的存储库,从齿轮菜单中选择“设置”,然后单击“环境变量”部分中的“添加新变量”。作为 Web 界面的替代方法,您也可以使用 CLI 的 env 命令。

Travis CI Settings
存储库设置中的环境变量

获取部署进度和日志 #

Azure Web 应用提供程序可以使用 verbose 选项将 Azure 的部署进度打印到您的 Travis 日志中。但是,如果身份验证失败,Git 将打印您的密码(如果提供正确的用户名/密码组合,则不会打印)。

deploy:
  provider: azure_web_apps
  verbose: true

要从中部署的分支 #

默认情况下,Travis CI 仅从您的 master 分支部署。

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

deploy:
  provider: azure_web_apps
  on: production

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

deploy:
  provider: azure_web_apps
  on:
    all_branches: true

从 Pull Request 触发的构建永远不会触发部署。

关于 .gitignore 的说明 #

由于此部署策略依赖于 git,请注意部署将遵守 .gitignore

如果您的 .gitignore 文件匹配构建创建的内容,请使用 before_deploy 更改其内容。

在部署前后运行命令 #

有时您希望在部署之前或之后运行命令。您可以为此使用 before_deployafter_deploy 阶段。只有当 Travis CI 实际进行部署时,这些才会被触发。

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

部署到槽位 #

您可能需要将多个分支部署到不同的槽位。您可以设置多个提供程序以部署到特定槽位。以下配置将 master 分支部署到 myapp-staging 槽位,并将 develop 分支部署到 myapp-develop 槽位。为了使用槽位,您需要 在 Azure 应用服务中为 Web 应用设置暂存环境

deploy:
- provider: azure_web_apps
  slot: myapp-staging
- provider: azure_web_apps
  slot: myapp-develop
  on: develop