您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

持续部署到 Azure 应用服务

03/12/2021

本文内容

备注

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

准备存储库

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

运行时

根目录文件

ASP.NET(仅限 Windows)

*.sln、 *.csproj 或 default.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 作业

/run., 位于 App_Data/jobs/continuous(适用于连续的 WebJobs)或 App_Data/jobs/triggered(适用于触发的 WebJobs)下 。 有关详细信息,请参阅 Kudu WebJobs 文档。

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

备注

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

配置部署源

在 Azure 门户中,导航到应用服务应用的管理页。

从左侧菜单中单击“部署中心” > “设置”。

在“源”中,选择 CI/CD 选项之一。

选择与你的选择相对应的选项卡来了解相关步骤。

GitHub Actions 是默认的生成提供程序。 若要更改它,请单击“更改提供程序” > “应用服务生成服务(Kudu)”>“确定”。

备注

若要使用 Azure Pipelines 作为应用服务应用的生成提供程序,请不要在应用服务中配置它, 而是直接从 Azure Pipelines 配置 CI/CD。 “Azure Pipelines”选项就会为你指引正确的方向。

如果你是第一次从 GitHub 进行部署,请单击“授权”并按授权提示操作。 如果要从另一个用户的存储库进行部署,请单击“更改帐户”。

通过 GitHub 授权 Azure 帐户后,选择要为其配置 CI/CD 的“组织”、“存储库”和“分支”。 如果找不到组织或存储库,可能需要在 GitHub 上启用附加权限。 有关详细信息,请参阅管理对组织的存储库的访问权限

当 GitHub Actions 是所选的生成提供程序时,你可以在“运行时堆栈”和“版本”下拉列表中选择所需的工作流文件。 Azure 会将此工作流文件提交到选定的 GitHub 存储库中来处理生成和部署任务。 若要在保存更改之前查看文件,请单击“预览文件”。

备注

应用服务会检测应用的语言堆栈设置,并选择最合适的工作流模板。 如果选择其他模板,则可能会部署不能正常运行的应用。 有关详细信息,请参阅 GitHub Actions 生成提供程序工作原理。

单击“保存”。

选定存储库和分支中的新提交现在将持续部署到应用服务应用中。 可以在“日志”选项卡中跟踪提交和部署。

BitBucket 集成使用应用服务生成服务 (Kudu) 实现生成自动化。

如果你是第一次从 BitBucket 进行部署,请单击“授权”并按授权提示操作。 如果要从另一个用户的存储库进行部署,请单击“更改帐户”。

对于 Bitbucket,请选择要持续部署的 Bitbucket 团队、存储库 和 分支。

单击“保存”。

选定存储库和分支中的新提交现在将持续部署到应用服务应用中。 可以在“日志”选项卡中跟踪提交和部署。

备注

作为部署源的 Azure Repos 是对 Windows 应用的支持。

应用服务生成服务 (Kudu) 是默认的生成提供程序。

备注

若要使用 Azure Pipelines 作为应用服务应用的生成提供程序,请不要在应用服务中配置它, 而是直接从 Azure Pipelines 配置 CI/CD。 “Azure Pipelines”选项就会为你指引正确的方向。

选择要持续部署的“Azure DevOps 组织”、“项目”、“存储库”和“分支”。

如果未列出 DevOps 组织,则表明它尚未关联到你的 Azure 订阅。 有关详细信息,请参阅创建 Azure 服务连接。

禁用持续部署

在 Azure 门户中,导航到应用服务应用的管理页。

从左侧菜单中单击“部署中心” > “设置” > “断开连接”。

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

单击 “确定” 。

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

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

部署期间停止应用或对应用启用脱机模式。 有关详细信息,请参阅处理部署过程中锁定的文件。

部署到过渡槽且启用了自动交换。

GitHub Actions 生成提供程序工作原理

GitHub Actions 生成提供程序是适用于从 GitHub 进行 CI/CD 的选项,可通过执行以下操作来设置 CI/CD:

将 GitHub Actions 工作流文件存储到 GitHub 存储库中,以便处理目标为应用服务的生成和部署任务。

添加应用的发布配置文件作为 GitHub 机密。 工作流文件使用此机密通过应用服务进行身份验证。

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

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

在 GitHub 存储库中生成工作流文件后,对该工作流文件进行自定义。 有关详细信息,请参阅 GitHub Actions 的工作流语法。 只需确保工作流通过 azure/webapps-deploy 操作部署到应用服务。

如果所选分支受保护,则仍可在不保存配置的情况下预览工作流文件,然后将其手动添加到存储库中。 此方法不提供与 Azure 门户的日志集成。

请使用 Azure Active Directory 中的服务主体进行部署,而不是使用发布配置文件。

使用服务主体进行身份验证

此可选配置会将默认身份验证替换为生成的工作流文件中的发布配置文件。

在 Azure CLI 中使用 az ad sp create-for-rbac 命令生成服务主体。 在以下示例中,请将 、 和 替换为你自己的值:

az ad sp create-for-rbac --name "myAppDeployAuth" --role contributor \

--scopes /subscriptions//resourceGroups//providers/Microsoft.Web/sites/ \

--sdk-auth

重要

为了安全起见,请为服务主体授予所需的最低访问权限。 上一个示例中的范围仅限于特定的应用服务应用而不是整个资源组。

保存整个 JSON 输出(包括顶级 {})供下一步使用。

在 GitHub 中,浏览存储库,选择“设置”>“机密”>“添加新机密”。

将 Azure CLI 命令的整个 JSON 输出粘贴到机密的值字段中。 为机密指定名称,如 AZURE_CREDENTIALS。

在 部署中心 生成的工作流文件中,使用类似于以下示例所示的代码(修改自 Node.js 工作流文件)修改 azure/webapps-deploy 步骤:

- name: Sign in to Azure

# Use the GitHub secret you added

- uses: azure/login@v1

with:

creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: Deploy to Azure Web App

# Remove publish-profile

- uses: azure/webapps-deploy@v2

with:

app-name: ''

slot-name: 'production'

package: .

- name: Sign out of Azure

run: |

az logout

从其他存储库进行部署

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

更多资源

微软azure服务器配置,配置持续部署 - Azure App Service | Microsoft Docs相关推荐

  1. java获取keyvault_使用 Key Vault 引用 - Azure App Service | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 使用应用服务和 Azu ...

  2. 手机app显示服务器端异常502,修复 HTTP 502 和 HTTP 503 错误 - Azure App Service | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 排查 Azure 应用 ...

  3. 微软android studio,Android 入门 - Visual Studio App Center | Microsoft Docs

    Android 入门 02/26/2021 本文内容 App Center SDK 使用模块化体系结构,因此可以使用任何或所有服务. 可以在 SDK.App Center 和常见问题解答App Cen ...

  4. 微软云服务器多ip,Azure 虚拟机的多个 IP 地址 - 门户 | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 使用 Azure 门户 ...

  5. 微软云架构服务器,Azure 云服务(经典)NetworkConfiguration 架构 | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. Azure 云服务(经 ...

  6. 微软codepush搭建服务器,通过 CodePush API 参考对本机 SDK 作出响应 - Visual Studio App Center | Microsoft Docs...

    响应 Native Client SDK API 参考 02/19/2020 本文内容 CodePush 插件由以下两个组件组成: 可以导入/要求的 JavaScript 模块,并允许应用在运行时与服 ...

  7. 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤

  8. linux nfs spec,创建 NFS Ubuntu Linux 服务器卷 - Azure Kubernetes Service | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 在 Azure Kub ...

  9. 2012自动登录服务器,配置Windows自动登录 - Windows Server | Microsoft Docs

    打开自动登录Windows 09/08/2020 本文内容 本文介绍如何将Windows密码和其他相关信息存储在注册表数据库中,以自动执行登录过程. 通过使用此功能,其他用户可以启动计算机并使用您建立 ...

最新文章

  1. Spring IOC 容器源码分析 - 创建原始 bean 对象
  2. 4.帧循环(游戏主循环),schedule
  3. Generator 函数的异步应用
  4. maven jpa_使用Hibernate 4,JPA和Maven的架构创建脚本
  5. C99中的变长数组(VLA)
  6. php fpm core,在php-fpm下,服务器间歇出现core dump 追踪到php代码是include一个php文件...
  7. opencv 的norm_OpenCV视频分析-Meanshift、Camshiftamp;运动轨迹绘制
  8. SpringMVC防止表单重复提交
  9. java读取txt生成excel_读取TXT文件内容,生成Excel文件
  10. 软件测试流程五个阶段
  11. 基于java毕业生就业信息管理系统的设计(含源文件)
  12. Windows下挂载MSR分区
  13. revit二次开发之教学视频
  14. 宝洁大中华区智能技术创新中心正式启用;新世界-K11上海淮海中路地块动工 | 知消...
  15. word文档无法保存问题
  16. 【CISSP备考笔记】第2章:资产安全
  17. Kubernetes 多租户简介
  18. 最小二乘法的原理与计算
  19. Qt入门程序,通过qtcreater创建一个项目
  20. 会计实务----现金支票

热门文章

  1. 自增,自减(java为例)
  2. 二手闲置物品交易数据快照
  3. Java/eclipse新建项目TR51,编写程序计算各小组学生的平均成绩和总成绩,并计算所有学生的平均成绩
  4. 2019语数外百度网盘初二全集下载
  5. GEA 3.4 流水线、缓存及优化
  6. Siri之父下周将推出全新AI机器人VIV
  7. 大数据时代,揭露个人数据泄漏和秘密跟踪内幕
  8. 计算机 教案,计算机教案.doc
  9. 基于微信小程序投票评选系统设计与实现开题答辩PPT
  10. easyui 下拉选择树(ComboTree) 的实现