VSCode的Chef插件:IT自动化与配置管理

10次阅读

应安装 Chef Extension Pack 并配置 CLI 路径,启用 Cookbook 初始化向导、InSpec 测试集成及 ruby lsp 支持,以实现 vscode 中完整的 Chef IaC 开发工作流。

VSCode的Chef插件:IT自动化与配置管理

如果您在使用 visual studio Code 进行基础设施即代码(IaC)开发时希望直接集成 Chef 工作流,则可能需要通过官方或社区维护的 Chef 相关扩展来增强编辑器对 Ruby、Cookbook 结构、InSpec 测试及 Chef Workstation 命令的支持。以下是实现该目标的具体方法:

本文运行环境:macBook Pro,macOS Sequoia。

一、安装 Chef Extension Pack

该插件集合由 Chef 官方推荐,包含语法高亮、代码片段、Cookbook 模板生成及基础命令集成,适用于标准 Chef Infra 开发流程。

1、打开 VSCode,点击左侧活动栏中的扩展图标(或按快捷键 Ctrl+Shift+X)。

2、在扩展搜索框中输入 Chef Extension Pack

3、在搜索结果中找到发布者为 Chef 的扩展,点击“安装”按钮。

4、安装完成后,重启 VSCode 以激活全部功能。

二、配置 Chef Workstation CLI 路径

VSCode 需要识别本地已安装的 Chef Workstation 命令行工具(如 chef、kitchen、inspec),否则无法调用相关任务。此步骤确保插件可正确解析和执行 Chef 命令。

1、在终端中运行 which chef,记录返回的完整路径(例如 /opt/chef-workstation/bin/chef)。

2、在 VSCode 中按下 Cmd+, 打开设置界面,切换到“工作区”选项卡。

3、点击右上角“打开设置(jsON)”图标,在 settings.json 文件中添加如下行:

“chef.cliPath”: “/opt/chef-workstation/bin”

三、启用 Cookbook 初始化向导

该功能可在当前文件夹中快速生成符合 Chef Infra 规范的 Cookbook 目录结构,避免手动创建 metadata.rb、recipes/default.rb 等核心文件。

1、在 VSCode 资源管理器中右键点击目标项目文件夹。

2、选择上下文菜单中的 Initialize Chef Cookbook 选项。

3、在弹出的输入框中填写 Cookbook 名称(仅限小写字母、数字与下划线)。

4、确认后,插件将自动生成 .chef/knife.rb、metadata.rb、recipes/default.rb 及 attributes/default.rb 文件。

四、运行 InSpec 测试集成

VSCode 插件支持直接在编辑器内触发 InSpec 控制测试,无需切换至终端,提升合规性验证效率。

1、确保项目中已存在 test/integration/default/inspec/*.rb 测试文件。

2、右键点击任意 InSpec 测试文件,在上下文菜单中选择 Run InSpec Profile

3、输出面板将自动切换至“InSpec”标签页,并显示执行日志与测试结果摘要。

五、启用 Ruby 语言服务器增强支持

Chef Cookbooks 主要使用 Ruby 编写,启用 Ruby LSP 可提供更准确的语法检查、跳转定义与自动补全能力,弥补 Chef 插件在动态语法分析上的局限。

1、在扩展市场中搜索并安装 Ruby LSP(发布者:mame)。

2、安装后,在设置中启用 “ruby.lsp.enable”: true

3、确保系统已安装 ruby 3.0+ 且 gem list 包含 solargraph

text=ZqhQzanResources