二头肌模板
Wesley Trust Bicep服务的可重用起点。该模板反映了现有服务仓库的结构,因此新项目可以开箱即用地继承流水线、变量分层和Pester测试套件。
入门指南
- 克隆此仓库作为您新服务的基础。
- 选择一个服务名称(小写,无空格)和服务标识符(小写,使用下划线)。例如:
containerservices并且container_services. - 将以下内容重命名为与您的服务标识符相匹配的名称:
- pipeline/service.*.yml - platform/service.bicep 并且 platform/service.bicepparam - tests/*/service/* 目录和设计夹具(位于/在……之下) tests/design/service
- 搜索
service,service_module以及类似的占位符,用于更新名称、操作组标识符和令牌。
仓库布局
pipeline/– 调用共享调度器的 Azure DevOps 管道pipeline-dispatcher->pipeline-common)。 部署流水线处理生产环境切换、灾难恢复、环境/区域跳过以及操作组切换。测试流水线在持续集成(CI)过程中以及按照夜间计划运行单元测试、集成测试、冒烟测试和回归测试套件。发布流水线发布语义版本main。platform/– 肱二头肌伪影。resourcegroup.*部署了先决条件资源组。service.*展示了以网络为中心的模块(虚拟网络、路由表、网络安全组),这些模块通过代币化默认值与管道相连。vars/– 由……使用的分层YAML变量pipeline-common包括共享默认值、区域元数据以及每个环境的覆盖设置。scripts/– 在服务仓库之间重用PowerShell辅助工具(Pester运行器、审查助手、语义化发布脚本、示例预/后钩子)。tests/– 使用Pester套件并设计固定装置。设计JSON文件用于模拟预期的资源、标签和健康检查,以便测试可以在不使用硬编码值的情况下验证Azure部署。更新service包含与您的服务相关的资源文件夹。release/– 当发布管道写入生成的备注时使用的占位符目录。
令牌替换
管道支持令牌替换以用于 .bicepparam 并设计JSON文件。使用 #{{ variableName }} 引用下方变量层中的值 vars/在添加新代币时,请确保存在相应的匹配条目。
验证核对清单
az bicep build platform/resourcegroup.bicepaz bicep build platform/.biceppwsh -File scripts/pester_run.ps1 -PathRoot tests -Type smoke -TestData @{ Name = 'service' } -ResultsFile ./TestResults/local.smoke.xml(事先使用 Azure 进行身份验证)- 在Azure DevOps中手动运行部署流水线以
dev检查环境,并确认资源组和服务部署成功。 - 验证夜间测试流水线是否生成 NUnit XML 艺术制品(或:验证夜间测试流水线是否输出 NUnit XML 格式的文件)
TestResults/。
定制化小贴士
- 扩展
pipeline/service.deploy.pipeline.yml要添加新的Bicep模块、调整依赖项或连接额外的脚本。请遵循预期的架构pipeline-common(type,kind,scope等)。 - 通过(某种方式)切换变量以包含或排除层
variables阻止进入pipeline/service.settings.yml通过可选参数覆盖环境元数据environments数组。 - 在下方扩展设计夹具
tests/design以涵盖更多资源和健康指标。烟雾分析工具(或烟雾测试套件,根据上下文具体确定)声称能health对象;回归和集成套件检查完整的资源属性。 - 更新
vars/common.yml以及环境/区域文件,以指向您服务的正确服务连接、命名约定、地址空间和对等连接。
参考文献
AGENTS.md– 为本模板量身定制的浓缩版代理手册。../pipeline-common/docs/CONFIGURE.md– pipeline-common 配置合同。../pipeline-dispatcher/AGENTS.md– 调度器配置流程。
