0Pricing
DevOps Bootcamp · 课时

always 与 never 特殊标签

无论条件如何都强制执行或阻止任务

always 与 never 特殊标签 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

两个保留标签

Ansible 保留了两个具有内置行为的特殊标签名称:always 和 never。它们不是筛选器,而是规则。🔒

always 每次都会运行

带有 always 标签的任务会在每个 play 中运行,无论您传入了哪个 --tags。它非常适合必须执行的准备工作。

- name: Gather setup
  ansible.builtin.setup:
  tags:
    - always

跳过 always

有一种例外方法:传入 --skip-tags always,即使确有需要,也可以排除这些任务。

ansible-playbook site.yml --skip-tags always

always 的良好用法

加载后续任务所依赖的变量或事实非常适合使用 always,这样无论如何筛选,它们都会存在。

- ansible.builtin.include_vars: app.yml
  tags:
    - always

never 始终保持隐藏

带有 never 标签的任务默认会被跳过。只有明确要求运行它,或要求运行它的其他标签时,它才会运行。

- name: Wipe database
  ansible.builtin.command: drop-all
  tags:
    - never
    - debug

主动启用 never

要运行带有 never 的任务,请使用 --tags 直接指定它。明确请求该标签会覆盖默认的跳过行为。

ansible-playbook site.yml --tags debug

用 never 保护危险步骤

请使用 never 保护有风险或很少需要的任务,例如破坏性清理任务,避免它们意外执行。

将 never 与实际标签配对

也给带有 never 的任务添加一个第二个标签。这样您可以通过这个易懂的名称触发它,而 never 会让它默认安全地保持关闭。

always 优先于选择

即使您运行 --tags config,每个 always 任务仍会与所选任务一起执行。它是附加执行的。

两个相反的默认行为

请记住这种对称关系:always 让任务默认启用,除非被跳过;never 让任务默认停用,除非被明确请求。

安全的清理任务

这个破坏性任务同时带有 never 和 cleanup 标签,因此只有您有意请求 cleanup 时才会运行。🛡️

- name: Reset state
  ansible.builtin.command: reset.sh
  tags:
    - never
    - cleanup

快速检查

一个任务只带有 never 标签。它什么时候会运行?

回顾

您学会了:always 除非被跳过,否则会运行;never 会保持关闭,直到您明确请求其标签,从而保护有风险的任务。✅

常见问题解答

「always 与 never 特殊标签」课时是免费的吗?

是的 — 「always 与 never 特殊标签」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「always 与 never 特殊标签」这节课中我会学到什么?

无论条件如何都强制执行或阻止任务 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「always 与 never 特殊标签」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 为任务、Play 与 Role 添加标签
  2. 使用 --tags 和 --skip-tags 过滤运行内容
  3. always 与 never 特殊标签
  4. 运行前列出标签与任务
← 返回 DevOps Bootcamp