在 Azure 应用服务上进行持续部署

备注

从 2024 年 6 月 1 日开始,新创建的应用服务应用可以生成使用命名约定 <app-name>-<random-hash>.<region>.chinacloudsites.cn 的唯一默认主机名。 例如: myapp-ds27dh7271aah175.westus-01.chinacloudsites.cn。 现有应用名称保持不变。

myapp-ds27dh7271aah175.chinanorth3-01.chinacloudsites.cn

可以使用 Azure 应用服务GitHubBitbucketAzure 存储库中拉取最新更新并配置持续部署。 本指南提供入门所需的一切。

准备存储库

若要从 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) 选项:

    显示如何选择部署源的屏幕截图。

要继续,请选择与你的构建提供程序对应的选项卡。

禁用持续部署

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

  2. 在左侧菜单中,选择 “部署中心”。 然后选择 “设置>断开连接”。

    显示如何在 Azure 门户中将云文件夹同步与应用服务应用断开连接的屏幕截图。

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

  4. 选择“确定”

生成提供程序有哪些?

部署中心,根据你的部署源,你可能会看到一些构建提供程序选项。 构建提供商通过 Azure 应用服务自动化构建、测试和部署过程,从而帮助您构建持续集成和持续交付(CI/CD)解决方案。

你不仅限于使用部署中心中提供的生成提供程序选项,通过使用应用服务,您可以快速设置它们,并享受集成的部署日志记录体验。

GitHub Actions 生成提供程序仅适用于 GitHub 部署。 从应用的部署中心进行配置时,生成提供程序通过将 GitHub Actions 工作流文件存入 GitHub 存储库来设置 CI/CD,以处理到应用服务的生成和部署任务。

对于基本身份验证,它将应用的发布配置文件添加为 GitHub 机密。 工作流文件使用此机密通过应用服务进行身份验证。 对于用户分配的标识,请参阅用户分配的标识选项对 GitHub Actions 有何用途?

它从工作流运行日志中捕获信息,并将其显示在部署中心的“日志”选项卡上。

可通过以下方式自定义 GitHub Actions 生成提供程序:

  • 在 GitHub 存储库中生成后,您可以自定义工作流文件。 有关详细信息,请参阅 GitHub Actions 的工作流语法。 请确保使用 azure/webapps-deploy 操作将工作流部署到应用服务。
  • 如果所选分支受到保护,仍可以预览工作流文件而不保存配置,然后手动将其添加到存储库。 此方法不提供与 Azure 门户集成日志。
  • 还可以使用 Microsoft Entra ID 中的服务主体进行部署,而不使用基本身份验证或用户分配的标识。 无法在门户中配置此方法。