使用VS和 Git 发布

使用 Visual Studio 和 Git 将 ASP.NET Core 持续部署到 Azure

作者:Erik Reitan

重要

Azure 应用服务中的 ASP.NET Core 预览版

默认情况下不会将 ASP.NET Core 预览版部署到 Azure 应用服务。 要托管使用 ASP.NET Core 预览版的应用,请参阅将 ASP.NET Core 预览版部署到 Azure 应用服务

本教程演示如何使用 Visual Studio 创建 ASP.NET Core Web 应用并使用持续部署将其从 Visual Studio 部署到 Azure 应用服务。

另请参阅使用 Azure Pipelines 创建你的第一个管道,该文档介绍如何使用 Azure DevOps Services 为 Azure 应用服务配置持续交付 (CD) 工作流。 Azure Pipelines(一种 Azure DevOps Services 服务)简化了可靠部署管道的设置,便于为 Azure 应用服务内托管的应用发布更新。 可以从 Azure 门户配置管道以生成、运行测试、部署到过渡槽,然后部署到生产。

备注

若要完成本教程,需要一个 Microsoft Azure 帐户。 要获取帐户,可激活 MSDN 订阅者权益注册免费试用版

系统必备

本教程假定已安装以下软件:

创建 ASP.NET Core Web 应用

  1. 启动 Visual Studio。

  2. 从“文件”菜单中选择“新建” > “项目”。

  3. 选择“ASP.NET Core Web 应用程序”项目模板。 它出现在“已安装” > “模板” > “Visual C#” > “.NET Core”下。 将项目命名为 SampleWebAppDemo 选择“新建 Git 存储库”选项,然后单击“确定”。

    “新建项目”对话框

  4. 在“新建 ASP.NET Core 项目”对话框中,选择 ASP.NET Core 的“空”模板,然后单击“确定”。

    新的 ASP.NET Core 项目对话框

备注

.NET Core 的最新版本为 2.0。

本地运行 Web 应用

  1. Visual Studio 完成创建应用后,请选择“调试” > “启动调试”以运行该应用。 作为替代方法,也可以按 F5。

    可能需要一些时间对 Visual Studio 和新应用进行初始化。 完成后,浏览器将显示正在运行的应用。

    显示正在运行的应用程序(显示“Hello World!”)的浏览器窗口

  2. 查看完正在运行的 Web 应用后,关闭浏览器,然后选择 Visual Studio 工具栏中的“停止调试”图标以停止应用。

在 Azure 门户中创建 Web 应用

按照以下步骤在 Azure 门户中创建 Web 应用:

  1. 登录到 Azure 门户

  2. 选择门户界面左上方的“新建”。

  3. 选择“Web + 移动” > “Web 应用”。

    Microsoft Azure 门户:“新建”按钮:“市场”下的“Web + 移动”:“特色应用”下的“Web 应用”按钮

  4. 在“Web 应用”边栏选项卡中,输入“应用服务名称”的唯一值。

    “Web 应用”边栏选项卡

    备注

    “应用服务名称”的名称必须是唯一的。 门户在提供名称时强制执行此规则。 在提供一个不同的值后,需要为在本教程中每次出现的“SampleWebAppDemo”替换该值。

    另外,在“Web 应用”边栏选项卡中,选择现有“应用服务计划/位置”或新建一个。 如果创建新的计划,请选择“定价层”、“位置”和其他选项。 有关应用服务计划的详细信息,请参阅 Azure App Service 计划深入概述

  5. 选择“创建”。 Azure 将预配并启动 Web 应用。

    Azure 门户:示例 Web 应用演示 01 Essentials 边栏选项卡

为新 Web 应用启用 Git 发布

Git 是一个分布式版本控制系统,可用来部署 Azure App Service Web 应用。 Web 应用代码存储在本地 Git 存储库中,并通过推送到远程存储库将代码部署到 Azure。

  1. 登录到 Azure 门户

  2. 选择“应用服务”查看与 Azure 订阅关联的应用服务列表。

  3. 选择在本教程的前一部分中创建的 Web 应用。

  4. 在“部署”边栏选项卡中,选择“部署选项” > “选择源” > “本地 Git 存储库”。

    “设置”边栏选项卡:“部署源”边栏选项卡:“选择源”边栏选项卡

  5. 选择“确定”。

  6. 如果事先未设置用于发布 Web 应用的部署凭据或其他应用服务应用,请立即设置:

    • 选择“设置” > “部署凭据”。 “设置部署凭据”边栏选项卡将显示。
    • 创建用户名和密码。 在设置 Git 时保存密码供以供将来使用。
    • 选择“保存”。
  7. 在“Web 应用”边栏选项卡中,选择“设置” > “属性”。 要部署到的远程 Git 存储库的 URL 会显示在“GIT URL”下。

  8. 复制“GIT URL”的值,稍后将在本教程中用到。

    Azure 门户:应用程序“属性”边栏选项卡

将 Web 应用发布到 Azure App Service

在本部分中,使用 Visual Studio 创建本地 Git 存储库并从该存储库推送到 Azure 以部署 Web 应用。 涉及到的步骤如下:

  • 使用 GIT URL 值添加远程存储库设置,这样本地存储库就可部署到 Azure。
  • 提交项目更改。
  • 将项目更改从本地存储库推送到 Azure 上的远程存储库。
  1. 在“解决方案资源管理器”中右键单击“解决方案 ‘SampleWebAppDemo’”并选择“提交”。 此时将显示“团队资源管理器”。

    “团队资源管理器连接”选项卡

  2. 在“团队资源管理器”中,选择“主页”(主页图标)>“设置” > “存储库设置”。

  3. 在“存储库设置”的“远程”部分中选择“添加”。 将显示“添加远程”对话框。

  4. 将远程的“名称”设置为“Azure-SampleApp”。

  5. 将“提取”的值设置为在本教程前面部分从 Azure 复制的“Git URL”。 请注意,此 URL 是以 .git 结尾的。

    “编辑远程”对话框

    备注

    作为替代方法,可以通过打开“命令窗口”、更改为项目目录并输入命令从“命令窗口”指定远程存储库。 示例:

    git remote add Azure-SampleApp https://me@sampleapp.scm.azurewebsites.net:443/SampleApp.git

  6. 选择“主页”(主页图标)>“设置” > “全局设置”。 确认名称和电子邮件地址已设置。 如有必要,则选择“更新”。

  7. 选择“主页” > “更改”以返回到“更改”视图。

  8. 输入提交消息,如“初始推送 #1”,然后选择“提交”。 此操作将本地创建“提交”。

    “团队资源管理器连接”选项卡

    备注

    作为替代方法,可以通过打开“命令窗口”、更改为项目目录并输入 git 命令从“命令窗口”提交更改。 示例:

    git add .

    git commit -am "Initial Push #1"

  9. 选择“主页” > “同步” > “操作” > “打开命令提示符”。 命令提示符打开到项目目录。

  10. 在命令窗口中输入以下命令:

    git push -u Azure-SampleApp master

  11. 输入之前在 Azure 中创建的 Azure“部署凭据”密码。

    此命令将启动将本地项目文件推送到 Azure 的进程。 上述命令的输出以部署成功的消息结尾。

    remote: Finished successfully.
    remote: Running post deployment command(s)...
    remote: Deployment successful.
    To https://username@samplewebappdemo01.scm.azurewebsites.net:443/SampleWebAppDemo01.git
    * [new branch]      master -> master
    Branch master set up to track remote branch master from Azure-SampleApp.
    

    备注

    如果项目需要协作,请考虑推送到 GitHub,然后再推送到 Azure。

验证活动的部署

验证 Web 应用从本地环境传输到 Azure 是否成功。

Azure 门户中,选择“Web 应用”。 然后,选择“部署” > “部署选项”。

Azure 门户:“设置”边栏选项卡:显示成功部署的“部署”边栏选项卡

在 Azure 中运行此应用

现在该 Web 应用已部署到 Azure,请运行该应用。

这可以通过以下两种方式实现:

  • 在 Azure 门户中,找到 Web 应用的“Web 应用”边栏选项卡。 选择“浏览”以在默认浏览器中查看该应用程序。
  • 打开浏览器并输入 Web 应用的 URL。 示例:http://SampleWebAppDemo.azurewebsites.net

更新 Web 应用并重新发布

更改本地代码后重新发布:

  1. 在 Visual Studio 的“解决方案资源管理器”中,打开 Startup.cs 文件。

  2. Configure 方法中,修改 Response.WriteAsync 方法,使它显示以下内容:

    await context.Response.WriteAsync("Hello World! Deploy to Azure.");
    
  3. 将更改保存到 Startup.cs。

  4. 在“解决方案资源管理器”中右键单击“解决方案 ‘SampleWebAppDemo’”并选择“提交”。 此时将显示“团队资源管理器”。

  5. 输入提交消息,如 Update #2

  6. 按“提交”按钮以提交项目更改。

  7. 选择“主页” > “同步” > “操作” > “推送”。

备注

作为替代方法,可以通过打开“命令窗口”、更改为项目目录并输入 git 命令从“命令窗口”推送更改。 示例:

git push -u Azure-SampleApp master

在 Azure 中查看更新的 Web 应用

通过从 Azure 门户中的“Web 应用”边栏选项卡选择“浏览”,或通过打开浏览器并输入 Web 应用的 URL 以查看更新的 Web 应用。 示例:http://SampleWebAppDemo.azurewebsites.net

其他资源