适用于:Azure SQL 数据库
开发容器提供了一个全面的解决方案,用于增强Azure SQL 数据库的本地开发。 开发容器模板为开发人员提供了无缝高效的开发环境,使开发人员能够轻松、自信地构建Azure SQL 数据库的应用程序。
开发容器可以在任何开发环境中使用,无论是本地还是云中,都可以促进团队和工作流的一致性。
用于Azure SQL 数据库的开发容器模板通过提供预配置的环境来简化开发过程,无需手动设置。 开发人员可以使用常用的编程语言,使用所有必要的工具和依赖项立即开始编码。 这些模板与 Visual Studio Code 和 GitHub Codespaces 兼容,可实现从本地开发到云环境的无缝转换。
本地开发环境模拟Azure SQL 数据库,使你能够高效地管理数据和测试应用程序。 准备就绪后,GitHub Actions自动执行部署过程,将应用程序无缝转换为Azure Web 应用服务和Azure SQL 数据库。 这种简化的工作流可提高工作效率,缩短设置时间,并确保本地环境和生产环境之间的一致性,从而更快地交付高质量的应用程序。
Tip
devcontainers/ci 中提供了一个GitHub操作,用于在持续集成 (CI) 版本中运行存储库的开发容器。 这样,就可以重复使用用于本地开发的相同设置,以便在 CI 中生成和测试代码。
开发容器的工作原理
无论使用哪种环境,开发容器都是预配置的容器化环境,旨在提供一致的开发体验。 它们利用开发容器规范(devcontainer.json)为开发环境定义必要的工具、设置和配置。
重要组件
- Docker:提供基础容器技术来创建隔离环境。
- VS Code:充当与开发容器交互的集成开发环境(IDE)。
- GitHub Codespaces:将开发容器扩展到云,从而允许使用浏览器从任何设备进行开发。
入门步骤
- 初始化:开发人员从包含所有必要配置的开发容器模板开始。
-
环境设置:容器是使用 Docker 生成的,基于
devcontainer.json规范设置环境。 - 编码和测试:开发人员在此一致的环境中编写和测试代码,确保与最终生产设置的兼容性。
- 部署:开发和测试完成后,可以使用 CI/CD 管道(如GitHub Actions)无缝部署应用程序。
Azure SQL 数据库 与开发容器
开发容器通过解决常见挑战和增强整体工作流,有利于Azure SQL 数据库开发。 由于开发人员在为Azure SQL 数据库设置高效的本地开发环境时面临重大挑战:
- 缺乏兼容性:本地开发和生产环境之间的差异。
- 设置复杂性:耗时的手动安装和配置。
- 依赖于云资源:增加云成本和依赖 Internet 连接。
- 有限的集成:缺少与现有Azure开发工具的集成。
用于Azure SQL 数据库的专用开发容器模板可帮助你弥合这一差距,增强开发体验并简化Azure生态系统中的工作流。
用于Azure SQL 数据库的开发容器的优点
开发容器简化了开发生命周期,使开发人员能够专注于编码和测试,而无需环境设置。 这种效率导致更快的迭代、更高质量的应用程序,并缩短了基于Azure SQL 数据库构建的应用程序的上市时间,使企业具有竞争优势。
使用开发容器进行本地开发可降低与Azure环境中开发和测试相关的云成本。 这种资源的优化可提高成本效益和可伸缩性。 开发人员可以使用Azure SQL 数据库的可伸缩性和可靠性无缝地从本地开发过渡到Azure环境,而不会产生不必要的成本。
开发容器支持云原生开发方案,与新式应用程序体系结构和框架保持一致。 这可确保与Azure SQL 数据库兼容,并有助于无缝部署到Azure环境。 通过采用云原生趋势,我们将Azure SQL 数据库定位为现代云原生应用程序选择的平台,从而推动长期采用和收入增长。
若要充分了解开发容器对Azure SQL 数据库项目的影响,请考虑以下增强和简化开发过程的主要功能:
Visual Studio Code扩展程序
-
ms-mssql.mssql:用于连接和查询 SQL 数据库的SQL Server扩展。 -
ms-mssql.sql-database-projects:用于管理 SQL 数据库项目的扩展,允许简化的架构更改和部署。 -
github.copilot:由 AI 驱动的代码补全,提升效率。 -
ms-azuretools.vscode-docker:用于直接从Visual Studio Code管理容器的 Docker 扩展。 -
github.codespaces:用于处理 GitHub Codespaces 的扩展。 -
ms-azuretools.vscode-docker:用于管理容器的 Docker 扩展。
Tip
根据你选择的模板,有更多扩展可用。
预配置环境
以下所有工具和实用工具都预加载到开发容器中。 无需下载或安装任何其他内容。
- .NET/ .NET Aspire / Node / Python:环境包括预安装并配置的首选编程语言/框架,可供开发。
- Azure CLI:用于管理Azure资源和部署的工具。
- Docker CLI:允许从另一个容器内部生成和管理 Docker 容器。
-
Azure SQL 数据库:
library数据库已创建并验证并可供使用。 此数据库提供与Azure SQL 数据库完全兼容性。 - SQLCMD:可用于与数据库交互、运行查询等的命令行实用工具。
- SqlPackage:用于部署数据库更改的命令行实用工具,包括架构更新和数据迁移。
Important
虽然该容器现在使用的是 mcr.microsoft.com/azure-sql-edge 映像,专为边缘计算场景设计,并提供 SQL Server 的部分功能以及内置 AI 功能,但此开发容器中的所有数据库开发仍可通过 SQL 数据库项目针对 Azure SQL 数据库进行验证。 SQL 数据库项目预配置目标平台设置为Azure SQL 数据库。
Visual Studio Code 任务
Visual Studio Code中的一组预定义任务,以简化常见操作:
- 1.验证数据库架构和数据:打开并执行 SQL 文件以验证数据库架构。
-
2.生成 SQL 数据库项目:使用
dotnet build.. 生成 SQL 数据库项目。 - 3. 发布 SQL 数据库Project:将 SQL 数据库project发布到数据库容器。
Tip
有可用的特定任务,具体取决于你选择的模板。
可用模板
适用于Azure SQL 数据库的开发容器模板适用于以下编程语言/框架:
| 编程语言/框架 | 说明 |
|---|---|
| .NET | 用于.NET和Azure SQL的开发环境,可实现简化的本地开发和测试。 |
| .NET Aspire | 用于.NET Aspire和Azure SQL的开发环境,可实现简化的本地开发和测试。 |
| Node.js | Node.js(JavaScript)和Azure SQL的开发环境,可实现简化的本地开发和测试。 |
| Python | 用于Python和Azure SQL的开发环境,可实现简化的本地开发和测试。 |
Tip
每个模板都附带了预配置的Azure SQL 数据库,便于立即开始开发!