ITADN
Azure/bicep
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Build Test Azure CLI Integration Needs Upvote Good First Issues

Azure Bicep

有关 Bicep 语言的所有信息,请参阅 Bicep 文档

什么是 Bicep?

Bicep 是一种基础设施即代码 (IaC) 编程语言,使用声明式语法来部署 Azure 资源。在 Bicep 文件中,你定义要部署到 Azure 的基础设施,然后在整个开发生命周期中使用该文件反复部署该基础设施。你的资源将以一致的方式部署。

有关该语言以及使用 Bicep 的优势的更多信息,请参阅 什么是 Bicep 文档

开始使用 Bicep

要开始使用 Bicep:

  1. 安装工具
  2. 完成 Bicep 基础学习路径
  3. 查看 Bicep 学习模块 的完整列表。

[!TIP] 如果你是 Bicep 的新手,请从安装 Bicep VS Code 扩展并部署一个简单的资源(例如存储帐户)开始,以便在转向更大的模板之前熟悉端到端的工作流程。

如果你有一个现有的 Azure Resource Manager (ARM) 模板或一组 Azure 资源,想要将其转换为 .bicep 格式,请参阅 将资源迁移到 Bicep 的推荐工作流反编译 ARM 模板

此外,还有一个丰富的 Azure Verified Modules 中的 Bicep 模块 库以及 azure-quickstart-templates 仓库中的示例,可帮助你入门。你还可以使用 Bicep Playground 在浏览器中试用 Bicep。

如果您正在寻找生产就绪且经过测试的 Bicep 模板,您可以在 bicep-registry-modules 仓库中找到它们。在 Azure Verified Modules 网站上了解有关这些模板的更多信息:https://aka.ms/avm

Bicep 是如何工作的?

首先,使用作为 Bicep VS Code 扩展 一部分的 Bicep 语言服务来编写您的 Bicep 代码。

Azure CLI (2.20.0+) 和 PowerShell Az 模块 (v5.6.0+) 均内置了 Bicep 支持。这意味着您可以使用标准部署命令来处理您的 *.bicep 文件。工具会将代码转译并代表您将其发送到 ARM。例如,要将 main.bicep 部署到资源组 my-rg,请使用以下 CLI 命令:

az deployment group create -f ./main.bicep -g my-rg

目标

  1. 构建尽可能优秀的语言,用于描述、验证和部署 Azure 基础设施。
  2. 该语言应为底层平台提供透明的抽象。启用新资源类型或 API 版本的 Bicep 支持时,不得存在任何“入门步骤”。
  3. 代码应一目了然,易于理解,且无论您是否有其他编程语言的编程经验,都易于学习。
  4. 用户应拥有高度的自由度来模块化和重用其代码。代码重用不应需要任何“复制/粘贴”操作。
  5. 工具应提供高水平的资源可发现性和验证能力。应将其与编译器一起开发,而不是在最后阶段添加。
  6. 在部署之前,用户应对其代码的“语法有效性”有高度的信心。

非目标

  1. 构建满足任何需求的通用语言。该语言不取代通用语言。您可能仍需要在脚本或高级编程语言中执行 Bicep 执行前后的任务。
  2. 为与 Azure 无关的任务提供一等公民的提供程序模型。虽然扩展模型支持Microsoft Graph,但官方扩展点旨在专注于与 Azure 基础设施或应用程序部署相关的任务。

常见问题

使用 Bicep 能获得哪些独特优势?

  1. 支持 Day 0 资源提供程序。您可以使用 Bicep 部署任何 ARM 资源,无论其处于私有预览、公开预览还是 GA 阶段。
  2. 与等效的 ARM 模板 JSON 相比,语法更简单
  3. 无需管理状态或状态文件。所有状态都存储在 Azure 中,因此可以轻松地协作并自信地对资源进行更改。
  4. 工具是获得任何编程语言卓越体验的基石。Bicep 的 VS Code 扩展使编写代码和基于所有 Azure 资源类型的API 定义进行高级类型验证变得极其简单。
  5. 使用原生模块轻松拆分代码。
  6. 由 Microsoft 支持,且 100% 免费使用。

在 Microsoft Learn 上查看更多常见问题

获取帮助,报告问题

Bicep 团队在此帮助您成功使用 Bicep。请随时联系我们。

  • 对于帮助或一般性问题,例如“我可以在哪里找到...的示例”或“我需要帮助将我的 ARM 模板转换为 Bicep”,请发起讨论
  • 对于 Bicep 的 bug 或新功能请求,请提交问题

您可以在我们的 GitHub 项目中查看问题的状态。

社区通话

Bicep 团队为 Bicep 用户举办开放的社区通话。前往此处获取邀请,并关注带有标签的问题以获取更新。

您可以在Azure 部署与治理 YouTube 频道上找到社区通话的录像。

社交媒体

您也可以在以下社交媒体平台上找到我们:

您还可以通过社区创建的 LinkedIn 上的 Azure Bicep 用户组 与其他用户取得联系。

参考

社区 Bicep 项目

替代方案

由于 ARM Template 现在被视为一种 IL,因此预期并鼓励其他 IL (ARM Template) 生成实现。此列表提供了创建 ARM 模板的替代方案,这些方案可能更适合您的使用场景。

  • Farmer (@isaacabraham) - 在 .NET 上生成和部署 ARM Templates
  • Cloud Maker (@cloud-maker-ai) - 绘制可部署的基础设施图表,并将其转换为 ARM 模板或 Bicep

遥测

当您使用 Bicep VS Code 扩展时,VS Code 会收集使用数据并将其发送到 Microsoft,以帮助改进我们的产品和服务。阅读 隐私声明 以了解更多信息。如果您不想将使用数据发送到 Microsoft,请将 telemetry.enableTelemetry 设置设为 false。有关更多信息,请参阅 FAQ

许可证

仓库中的所有文件,除了 Azure Architecture SVG 图标(此处此处),均受 MIT 许可证 约束。

Bicep VS Code 扩展中使用的 Azure 架构 SVG 图标(此处此处)受使用条款约束。

贡献

有关构建和运行代码、贡献代码、贡献示例以及贡献功能请求或错误报告的信息,请参阅为 Bicep 做贡献