使用 FQCN:namespace.collection.module
以现代方式引用内容
使用 FQCN:namespace.collection.module 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
短名称含义不明确
调用名为 copy 的模块可以正常工作,但两个集合可能各自都提供一个 copy 模块。FQCN 可以明确您指的是哪一个。
展开 FQCN
FQCN 表示完全限定集合名称:以 namespace.collection.module 形式写出的模块完整地址。
三个部分,一条点号路径
请从左到右读取它:先是 namespace(所有者),然后是集合(软件包),最后是模块。每一部分都会进一步明确实际运行的内容。
ansible.builtin.copy
# namespace.collection.module核心模块位于 ansible.builtin
您已经使用过的经典模块都位于 ansible.builtin 集合中。因此,copy 在底层实际上就是 ansible.builtin.copy。
- ansible.builtin.copy:
src: app.conf
dest: /etc/app.conf它为何成为默认做法
由于模块现在分布在许多集合中,FQCN 是唯一能保证每次都解析到确切模块的名称。
社区模块形式相同
其他软件包中的内容也遵循相同模式,例如该集合中的防火墙模块 community.general.ufw。
- community.general.ufw:
rule: allow
port: "22"短名称仍然可用
对于内置模块,像 copy 这样的普通名称仍然有效,但代码检查工具现在会发出警告。推荐使用完整的 FQCN。
让剧本面向未来
即使未来 Ansible 重新调整短名称的指向,FQCN 仍然可以正常工作,从而让您的剧本在升级过程中保持稳定。
FQCN 同样适用于角色
集合也会提供角色。您可以使用相同的点号地址引用它们,例如在剧本中使用 community.general.role_name。
roles:
- role: geerlingguy.nginx使用 collections 减少输入
在剧本的 collections 键下列出一个集合后,您就可以使用其中的短模块名称,而不必写出完整前缀。
collections:
- community.general养成使用 FQCN 的习惯
从一开始就写出完整的 FQCN,可以让剧本含义明确、通过代码检查,并且便于团队成员追溯来源。
快速检查
说出完全限定模块名称的各个部分。
回顾
FQCN 的形式是 namespace.collection.module,例如 ansible.builtin.copy。它可以明确指向唯一模块,并让剧本在升级时保持安全。🎯
常见问题解答
「使用 FQCN:namespace.collection.module」课时是免费的吗?
是的 — 「使用 FQCN:namespace.collection.module」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「使用 FQCN:namespace.collection.module」这节课中我会学到什么?
以现代方式引用内容 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 FQCN:namespace.collection.module」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Galaxy 中的 Role 与 Collection
- 使用 requirements.yml 安装 Role
- 使用 FQCN:namespace.collection.module
- 将您自己的 Role 发布到 Galaxy