教程:使用 Visual Studio 部署到 Azure 容器应用
Azure 容器应用使你能够在无服务器平台上运行微服务和容器化应用程序。 使用容器应用,你可以享受运行容器的好处,同时无需手动配置云基础结构和复杂容器业务流程协调程序。
在本教程中,你将使用 Visual Studio 将容器化的 ASP.NET Core 6.0 应用程序部署到 Azure 容器应用。 以下步骤也适用于早期版本的 ASP.NET Core。
先决条件
创建项目
首先创建要部署到 Azure 的容器化 ASP.NET Core 应用程序。
在 Visual Studio 中,选择“文件”,然后选择“新建 => 项目”。
在对话框窗口中,搜索 ASP.NET,然后选择“ASP.NET Core Web 应用”并选择“下一步”。
在“项目名称”字段中,将应用程序命名为 MyContainerApp,然后选择“下一步”。
在“其他信息”屏幕上,确保选择“启用 Docker”,然后确保为“Docker 操作系统”设置选择了“Linux”。 Azure 容器应用当前不支持 Windows 容器。 此选择可确保项目模板默认支持容器化。 启用后,项目在运行或构建时使用容器。
单击“创建”,Visual Studio 将创建并加载项目。
部署到 Azure 容器应用
该应用程序包含一个 Dockerfile,因为在项目模板中选择了“启用 Docker”设置。 Visual Studio 使用 Dockerfile 来生成 Azure 容器应用运行的容器映像。
如果你想了解有关此过程的详细信息的更多信息,请参阅 Visual Studio 如何构建容器化应用。
你现在已准备好将应用程序部署到 Azure 容器应用。
创建资源
Visual Studio 发布对话框将帮助你选择现有的 Azure 资源,或创建新资源以用于将应用程序部署到其中。 还可通过此对话框将使用项目中的 Dockerfile 生成容器映像,将这个映像推送到 ACR,最后将新的映像部署到选定的容器应用。
右键单击 MyContainerApp 项目节点并选择“发布”。
在对话框中,从发布选项列表中选择 Azure,然后选择“下一步”。
在“特定目标”屏幕上,选择“Azure 容器应用 (Linux)”,然后再次选择“下一步”。
接下来,创建一个 Azure 容器应用来托管项目。 选择右侧的绿色加号图标以打开创建对话框。 在“新建”对话框中,输入以下值:
- 容器应用名称:输入
msdocscontainerapp
的名称。 - 订阅名称:选择你希望托管应用的订阅。
- 资源组:资源组充当逻辑容器来组织 Azure 中的相关资源。 你可以选择现有资源组,也可以选择“新建”以使用你选择的名称创建一个资源组,例如
msdocscontainerapps
。 - 容器应用环境:容器应用环境:每个容器应用都必须是容器应用环境的一部分。 环境为一个或多个容器应用提供了一个隔离的网络,使它们可以轻松地相互调用。 单击“新建”打开为你的容器应用环境创建新对话框。 保留默认值并选择“确定”关闭环境对话框。
- 容器名称:这是将为此容器运行的容器的友好名称应用。 对于此快速入门,请使用名称
msdocscontainer1
。 一个容器应用通常运行一个容器,但有时需要多个容器。 一个这样的示例是当需要 sidecar 容器来执行诸如专门的日志记录或通信之类的活动时。
- 容器应用名称:输入
选择“创建”以完成创建或你的容器应用。 Visual Studio 和 Azure 代表你创建所需的资源。 这个过程可能需要几分钟,所以请等待此过程运行完成之后再继续下一步。
创建资源后,选择“下一步”。
在“注册表”屏幕上,你可以选择现有的注册表(如果有的话),或者创建一个新的。 要创建一个新的,请单击右侧的绿色 + 图标。 在“创建新注册表”屏幕上,填写以下值:
- DNS 前缀:输入值
msdocscontainerregistry
或是你选择的名称。 - 订阅名称:选择你要使用的订阅 - 你可能只有一个可供选择。
- 资源组:选择你之前创建的 msdocs 资源组。
- Sku:选择“标准”。
- 注册表位置:选择地理上靠近你的区域。
- DNS 前缀:输入值
填充这些值后,选择“创建”。 Visual Studio 和 Azure 将需要一点时间来创建注册表。
创建容器注册表后,请确保已选中它,然后选择“完成”。 Visual Studio 需要一些时间才能创建发布配置文件。 在此发布配置文件中,VS 存储你选择的发布选项和资源,以便你可以随时快速再次发布。 完成后,你可以关闭对话框。
使用 Visual Studio 发布应用
创建资源和发布配置文件时,仍需要将应用发布并部署到 Azure。
选择发布配置文件屏幕右上角的“发布”,以部署到在 Azure 中创建的容器应用。 此过程可能需要一些时间,请耐心等待此过程完成。
当应用完成部署后,Visual Studio 将打开一个浏览器,指向已部署站点的 URL。 如果所有正确的资源都未完成预配,则此页最初可能会显示错误。 你可以继续定期刷新浏览器,以检查部署是否已完全完成。
使用 GitHub Actions 发布应用
还可以通过 GitHub Actions 使用 CI/CD 部署容器应用,GitHub Actions 是一个功能强大的工具,可以直接通过项目的 GitHub 存储库自动执行、自定义和执行开发工作流。
如果 Visual Studio 检测到你要发布的项目托管在 GitHub 中,则发布流会显示一个额外的部署类型步骤。 此阶段允许开发人员选择是使用本快速入门上文介绍的步骤直接通过 Visual Studio 进行发布,还是通过 GitHub Actions 工作流进行发布。
如果你选择 GitHub Actions 工作流,则 Visual Studio 会向项目的根目录中添加一个 .github 文件夹,以及在该文件夹内生成的一个 YAML 文件。 该 YAML 文件包含 GitHub Actions 配置,每次推送你的代码时,都将使用这些配置来构建你的应用并将其部署到 Azure。
在你进行更改并推送代码后,可以在 GitHub 中的“操作”选项卡下查看构建和部署过程的进度。本页提供有关工作流进度和运行状况的详细日志和指示器。
如果你在构建和部署作业的旁边看到一个绿色对号,则表明该工作流已完成。 浏览到你的容器应用站点时,应当会看到所应用的最新更改。 你始终可以使用 Azure 门户页面查找你的容器应用的 URL。
清理资源
如果不打算继续使用此应用程序,可以通过删除资源组来删除 Azure 容器应用实例和所有关联的服务。
在 Azure 门户中按照以下步骤删除创建的资源:
- 从“概述”部分选择“msdocscontainerapps”资源组。
- 选择资源组“概述”顶部的“删除资源组”按钮。
- 在“确定要删除 "my-container-apps" 吗”确认对话中输入资源组名称“msdocscontainerapps”。
- 选择“删除”。
删除资源组的过程可能需要几分钟才能完成。
提示
遇到问题? 在 Azure 容器应用存储库中提交问题,告知我们有关 GitHub 的信息。