冒烟测试、回滚与通知
验证、恢复并报告部署结果
冒烟测试、回滚与通知 是 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 反馈 — 无需本地设置。