Knife 插件开发全解析
1. Knife 源代码结构
在深入了解 Knife 插件之前,先来看看 Knife 源代码的结构:
- lib/application/knife.rb :由 bin/knife 包装脚本调用,用于验证和解析命令行选项,然后初始化 Chef::Knife 类。
- lib/chef/knife 目录:包含大量类定义文件,实现了 Knife 自带的开箱即用插件。每个默认的 Knife 命令在该目录中都有对应的类定义文件,这些默认插件类定义可作为实现自定义插件类的优秀参考。
- lib/chef/knife/bootstrap 目录:包含多个不同操作系统的 ERB 模板,供 knife bootstrap 命令使用。
- lib/chef/knife/core 目录:包含许多 Knife 插件使用的支持类。
- lib/chef/knife.rb : Chef::Knife 类的定义文件,实现了运行 Knife 命令的大部分逻辑,所有 Knife 插件都继承自该类。
2. Knife 插件介绍
所有 Knife 插件都基于一个共同的框架,无论其复杂程度如何,基本结构如下:
class Awesome < Chef::Knife
deps do
超级会员免费看
订阅专栏 解锁全文
433

被折叠的 条评论
为什么被折叠?



