Cloudflare Worker通过Git+CI/CD自动部署后,在线编辑器未同步最新Git代码的问题排查求助
Cloudflare Worker通过Git+CI/CD自动部署后,在线编辑器未同步最新Git代码的问题排查求助
最近折腾Cloudflare Worker的Git+CI/CD自动部署踩了个巨坑,特意整理出问题场景、排查步骤和解决方法,帮大家少走弯路!
问题场景还原
我用Git(Github/Gitlab)管理Worker的index.js代码,配置CI/CD流水线自动部署到Cloudflare Worker。一开始一切正常,但几次自动部署+偶尔在Cloudflare在线编辑器手动改代码后,怪事发生了:
- 在Git里更新代码(比如修改注释里的版本号),提交后触发CI/CD部署,Cloudflare Dashboard的「Deployments」页面显示部署完成;
- 但打开Cloudflare在线编辑器看Worker代码,还是老版本!注释里的版本号没更新,和Git里的最新代码完全对不上;
- 问了LLM还被带偏:一会儿说我搞了生产/开发两个环境,一会儿说有个不存在的按钮要点击,折腾半天才找到真正的根源。
核心疑问(帮大家对号入座)
如果你也遇到以下类似问题,大概率是同一个坑:
- Git+CI/CD部署后,Cloudflare Worker的在线编辑器为什么没同步最新代码?
- 为什么Git里的代码部署完成后,在线编辑器还是显示旧版本的注释/逻辑?
- 用
npx wrangler deploy部署后,怎么让在线编辑器也同步更新? - 为什么在线编辑器里看不到Git提交的最新版本号?
问题排查&解决步骤
1. 先验证生产环境是否真的更新
别上来就纠结在线编辑器,先确认生产环境的Worker已经是Git的最新代码:
- 给Worker代码加个版本标识,方便快速验证:
export default { async fetch(request) { return new Response(`Worker Version: 1.2.3`, { headers: { 'Content-Type': 'text/plain' } }); } }; - 部署完成后直接访问Worker的公网URL,看返回的版本号是否和Git里一致。如果不一致,先排查CI/CD流水线:
- 查看CI/CD日志,确认
npx wrangler deploy命令是否执行成功; - 检查Cloudflare API Token是否拥有
Worker Scripts: Edit和Worker Scripts: Read权限; - 核对
wrangler.toml里的name字段,是否和Cloudflare Dashboard上的Worker名称完全一致(注意大小写敏感)。
- 查看CI/CD日志,确认
2. 最容易踩的坑:在线编辑器的未保存草稿
如果生产环境已经是最新代码,但在线编辑器显示旧内容,90%是因为你之前手动修改过在线编辑器,留下了未丢弃的草稿:
- 打开在线编辑器,看顶部是否有「Unsaved Draft」(未保存草稿)的提示;
- 点击「Discard Draft」(丢弃草稿),在线编辑器会自动加载生产环境的最新代码——瞬间同步!
3. 手动从生产环境刷新在线编辑器
如果没有草稿,但在线编辑器还是显示旧内容:
- 点击在线编辑器右上角的「...」(更多)按钮;
- 选择「Refresh from Production」(从生产环境刷新)——这个按钮藏得比较深,很多人没注意到;
- 执行后,在线编辑器会拉取生产环境的最新Git代码,覆盖当前显示的旧内容。
4. 确认CI/CD部署的目标环境
如果你的Worker配置了多环境(比如production和development):
- 检查CI/CD的部署命令是否指定了正确的环境,比如
npx wrangler deploy --env production; - 在线编辑器顶部可以切换环境,确认你打开的是CI/CD部署的那个环境(比如不要在
development环境找production的代码)。
避坑指南
- 尽量不要混合使用在线编辑器手动修改和Git+CI/CD部署:手动修改会生成草稿,干扰在线编辑器的显示;Git部署只会更新生产环境,不会主动同步到在线编辑器的草稿;
- 先验证生产环境,再排查在线编辑器:别上来就纠结在线编辑器的显示问题,先通过URL确认生产环境是否更新,避免被环境配置、权限等问题带偏;
- 别被LLM带节奏:如果你的问题不是环境配置错误,就别死磕“生产/开发环境切换”“不存在的按钮”这类建议,先检查草稿和刷新按钮。
如果以上方法都解决不了问题,建议:
- 升级Wrangler到最新版本(旧版本可能存在同步bug);
- 硬刷新Cloudflare Dashboard页面(
Ctrl+F5),排除浏览器缓存问题; - 重新生成Cloudflare API Token,确保权限配置正确。
我之前绕了一大圈才找到草稿这个关键点,希望大家别踩同样的坑~




