使用 Contoso 房地产进行现代云开发
Contoso 房地产应用程序包含用于生成企业级现代可组合前端(或微前端)和云原生应用程序的参考体系结构和组件。 它是一系列最佳做法、体系结构模式和功能组件,可用于生成新式 JavaScript 应用程序并将其部署到 Azure。
Contoso 房地产解决方案中使用的新式云开发包括用于开发、调试、生成、部署和测试应用程序的工具。
开发人员环境
高效高效的开发团队决定并一致地维护开发环境。
开发容器
对于团队中的每个开发人员,开发环境必须相同。 该环境还需要尽可能多地镜像生产环境。 开发容器 是具有社区支持、规范、工具、指南和模板的行业标准。 应为操作系统、语言和团队效率所需的其他工具维护开发容器。
Visual Studio Code 提供了一个快速分步开发容器创建过程来包装源代码,使你能够编写代码而不是编写容器。 如果要开发容器,可以引入现有容器,或更改提供的开发容器文件。
- Contoso Dev Container - devcontainer.json
IDE
集成开发人员环境(IDE)是一个软件应用程序,它为开发人员提供全面的工具和功能,以便更有效地编写、测试和调试代码。 它旨在通过将软件开发的各个方面合并到单个环境中来简化开发过程。 在集成开发环境 IDE 中,与开发容器结合使用时,可让你快速载入新团队成员,同时仍支持团队的其余部分。 可以在开发容器中指定对 IDE 的任何修改,包括设置、扩展和其他集成,以便所有团队成员都具有相同的环境,而无需依赖手动步骤。
对于跨平台开发人员团队,请使用 Visual Studio Code:
- Visual Studio Code 的环境设置 - ./vscode
- devcontainer.json 中 安装的 Visual Studio 扩展
代码质量工具
代码质量工具在开发过程中应用,以应用格式和样式准则,并通过强制实施代码标准来捕获潜在的运行时问题。 代码质量工具是唯一的编程语言,并与社区一起支持,以确保支持和进展。 Visual Studio Code 提供与常见代码质量工具的集成。
Contoso 使用以下代码质量工具:
- 包
tsconfig.json
文件中的 TypeScript 设置。 - 根 package.json 中的更漂亮的设置。
- 根 .eslintrc.js 中的 ESLint
自动测试
开发环境应允许开发人员快速编写代码并测试它对项目的影响,而无需将更改推送到 生成和测试 管道。 Visual Studio Code 提供与自动化测试工具的集成。 使用 PlayWright 进行端到端测试,包括浏览器和 API 测试。
Contoso 使用:
- 用于单元测试的 Jest
- 剧作家 用于端到端测试
CLI
命令行接口允许开发人员在其开发环境中快速工作,并将 CLI 添加到用于生成和部署管道的任何自动化工具。
Contoso 使用以下 CLIs:
开发人员计算
开发人员的工作站可以位于云中或物理计算机中。 无论计算资源在哪里,都可以轻松集成新式云开发人员所需的组件。
Codespaces
Codespaces 是 GitHub 存储库提供的开发人员容器。 在 Codespaces 中、浏览器或本地 IDE 中打开存储库。 在典型的开发人员流中立即开始工作,编写、调试、测试和将 PR 推送回 GitHub 存储库。 Codespaces 保留对环境的任何特定更改,例如环境变量、依赖项安装和 CLIs。
可以在 Web 浏览器中从 GitHub 打开项目,也可以从 Visual Studio Code 的本地版本打开容器。 两者都使用相同的开发容器。
面向开发人员的云资源
开发人员在开发时需要访问云资源。 根据资源,开发团队可以选择使用本地模拟器(如果可用),或使用与代码文件相同的基础结构来提供开发人员资源。
基础结构即代码,使用 Azure Dev CLI(AZD)等工具可以快速创建和拆除云资源。
此项目具有根级别文件 azure.yml,用于定义可独立部署的 逻辑 服务。 支持每个服务的资源在 基础结构 文件夹中定义。
- 基础结构/应用文件夹定义如何配置和合并 Azure 服务。
- 基础结构/核心文件夹包含用于创建每个 Azure 服务的 Bicep 文件。
Azure 开发人员 CLI (AZD) 通过 azd provision
命令为所有资源或仅提供逻辑服务的资源创建。
源代码管理、持续集成和部署
源代码管理 提供在开发周期内跟踪更改的功能。 Contoso 使用 git 管理版本控制和 GitHub 来存储源代码。
持续集成允许在合并到主分支之前验证对源代码的更改。 Contoso 使用 .github/workflows 文件进行持续集成。
部署 是将源代码和相关文件移动到云的过程。 Azure 开发人员 CLI (AZD) 通过 azd deploy
命令提供部署。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈