持续部署到 Azure 应用服务

Azure 应用服务可以通过拉取最新的更新,来使你能够通过 GitHubBitBucketAzure Repos 存储库执行持续部署。

注意

Azure 门户中的“开发中心(经典)”页是 Azure 较早发布的一项部署功能,已于 2021 年 3 月弃用。 此更改不会影响应用中的现有部署设置,你可以继续在门户的“部署中心”页中管理应用部署。

准备存储库

若要从 Azure 应用服务生成服务器获取自动生成,请确保项目中存储库根路径具有正确的文件。

运行时 根目录文件
ASP.NET(仅限 Windows) \*.sln\*.csprojdefault.aspx
ASP.NET Core \*.sln\*.csproj
PHP index.php
Ruby(仅限 Linux) Gemfile
Node.js server.js、app.js 或具有启动脚本的 package.json
Python *.py、requirements.txt 或 runtime.txt
HTML default.htm、default.html、default.asp、index.htm、index.html 或 iisstart.htm
Web 作业 App_Data/jobs/continuous(适用于连续的 WebJobs)或 App_Data/jobs/triggered(适用于触发的 WebJobs)下的 job_name/run.extension。 有关详细信息,请参阅 Kudu WebJobs 文档

要自定义部署,可以在存储库根路径中添加 .deployment 文件。 有关详细信息,请参阅自定义部署自定义部署脚本

注意

如果在 Visual Studio 中进行开发,让 Visual Studio 创建存储库。 该项目可立即通过 Git 进行部署。

配置部署源

  1. Azure 门户中,转到应用服务应用的管理页面。

  2. 从左窗格中,选择“部署中心”。 然后选择“设置”。

  3. 在“部署源”方框中,选择 CI/CD 选项之一:

    Screenshot that shows how to choose the deployment source.

选择与生成提供程序对应的选项卡以继续。

禁用持续部署

  1. Azure 门户中,转到应用服务应用的管理页面。

  2. 从左窗格中,选择“部署中心”。 然后选择“设置”>“断开连接”:

    Screenshot that shows how to disconnect your cloud folder sync with your App Service app in the Azure portal.

  3. 默认情况下,GitHub Actions 工作流文件保留在你的存储库中,但会持续触发向你的应用进行部署。 若要从存储库中删除文件,请选择“删除工作流文件”。

  4. 选择“确定”。

部署期间我的应用会发生什么情况?

所有官方支持的部署方法均会更改应用的 /home/site/wwwroot 文件夹中的文件。 这些文件用于运行你的应用。 因此,部署可能会因为锁定的文件而失败。 应用可能会在部署期间发生不可预测的行为,因为这些文件并非同时更新。 这种行为对于面向客户的应用来说是需要避免的。 可以通过几种方法避免这些问题:

从其他存储库进行部署

对于 Windows 应用,你可以从门户不直接支持的云 Git 或 Mercurial 存储库(例如 GitLab)手动配置持续部署。 为此,请在“部署源”下拉列表中选择“外部 Git”。 有关详细信息,请参阅使用手动步骤设置持续部署

更多资源