0Pricing
DevOps Bootcamp · 课时

冒烟测试、回滚与通知

验证、恢复并报告部署结果

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

重新加载并不意味着部署完成

完成一个 play 并不等于应用已经正常运行。您仍然需要烟雾测试、回滚路径和通知。请闭环处理。🔁

对端点执行烟雾测试

使用 uri 模块访问真实路由,并断言状态码为 200。如果应用没有正确响应,部署就应明确失败。

- name: Smoke test
  ansible.builtin.uri:
    url: https://app.example.com/health
    status_code: 200
    return_content: true

断言版本正确

更进一步:读取响应,并使用 assert 确认线上版本与您刚刚发布的版本一致。

- ansible.builtin.assert:
    that:
      - "app_version in smoke.content"
    fail_msg: "Wrong version live"

将部署封装在 block 中

将部署和测试放在同一个 block 中,这样一次失败就能触发统一的恢复路径。

- block:
    - import_role:
        name: deploy
    - import_tasks: smoke.yml

在 rescue 中回滚

将撤销逻辑放入 rescue:重新部署上一个版本,确保发布失败时不会让用户继续使用损坏的代码。

  rescue:
    - name: Roll back
      ansible.builtin.git:
        repo: "{{ app_repo }}"
        version: "{{ previous_version }}"
        dest: /srv/app

始终重新启用流量

使用 always 将节点重新置于负载均衡器之后,无论部署成功还是已回滚。不要让任何主机脱离服务。

  always:
    - community.general.haproxy:
        state: enabled
        host: "{{ inventory_hostname }}"
      delegate_to: lb1

快速失败,清晰报错

出现问题时,使用 fail 模块并通过有用的消息停止执行,让日志准确说明发生了什么故障。

- ansible.builtin.fail:
    msg: "Health check failed on {{ inventory_hostname }}"

通知团队

报告执行结果。community.general.slack 任务会发布成功或失败消息,让团队知道部署已经完成。

- community.general.slack:
    token: "{{ slack_token }}"
    msg: "Deployed {{ app_version }} ✅"

电子邮件或聊天,由您选择

更喜欢电子邮件?mail 模块可以发送摘要。任何渠道都可以;关键是提供清晰、自动化的部署信号。

- community.general.mail:
    to: ops@example.com
    subject: "Deploy {{ app_version }} complete"

保留上一个可用版本

只有记录了版本,回滚才能正常工作。请在部署前记录 previous_version,这样 rescue 才知道要恢复什么。

vars:
  previous_version: "2.4.0"
  app_version: "2.4.1"

值得信赖的部署

执行测试,失败时回滚,始终恢复流量,并通知团队。这就是端到端的生产级部署。🎉

快速检查

哪个部分可以确保流量得到恢复?

回顾

您已经完成闭环:烟雾测试、在 rescue 中回滚、在 always 中重新启用流量,以及团队通知。综合实践完成!🏆

常见问题解答

「冒烟测试、回滚与通知」课时是免费的吗?

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

「冒烟测试、回滚与通知」这节课中我会学到什么?

验证、恢复并报告部署结果 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

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

「冒烟测试、回滚与通知」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 设计项目:Role 与 Inventory
  2. 配置、加固并引导主机
  3. 负载均衡器后的滚动部署
  4. 冒烟测试、回滚与通知
← 返回 DevOps Bootcamp