You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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在线编辑器手动改代码后,怪事发生了:

  1. 在Git里更新代码(比如修改注释里的版本号),提交后触发CI/CD部署,Cloudflare Dashboard的「Deployments」页面显示部署完成;
  2. 但打开Cloudflare在线编辑器看Worker代码,还是老版本!注释里的版本号没更新,和Git里的最新代码完全对不上;
  3. 问了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: EditWorker Scripts: Read权限;
    • 核对wrangler.toml里的name字段,是否和Cloudflare Dashboard上的Worker名称完全一致(注意大小写敏感)。

2. 最容易踩的坑:在线编辑器的未保存草稿

如果生产环境已经是最新代码,但在线编辑器显示旧内容,90%是因为你之前手动修改过在线编辑器,留下了未丢弃的草稿

  • 打开在线编辑器,看顶部是否有「Unsaved Draft」(未保存草稿)的提示;
  • 点击「Discard Draft」(丢弃草稿),在线编辑器会自动加载生产环境的最新代码——瞬间同步!

3. 手动从生产环境刷新在线编辑器

如果没有草稿,但在线编辑器还是显示旧内容:

  • 点击在线编辑器右上角的「...」(更多)按钮;
  • 选择「Refresh from Production」(从生产环境刷新)——这个按钮藏得比较深,很多人没注意到;
  • 执行后,在线编辑器会拉取生产环境的最新Git代码,覆盖当前显示的旧内容。

4. 确认CI/CD部署的目标环境

如果你的Worker配置了多环境(比如productiondevelopment):

  • 检查CI/CD的部署命令是否指定了正确的环境,比如npx wrangler deploy --env production
  • 在线编辑器顶部可以切换环境,确认你打开的是CI/CD部署的那个环境(比如不要在development环境找production的代码)。

避坑指南

  1. 尽量不要混合使用在线编辑器手动修改和Git+CI/CD部署:手动修改会生成草稿,干扰在线编辑器的显示;Git部署只会更新生产环境,不会主动同步到在线编辑器的草稿;
  2. 先验证生产环境,再排查在线编辑器:别上来就纠结在线编辑器的显示问题,先通过URL确认生产环境是否更新,避免被环境配置、权限等问题带偏;
  3. 别被LLM带节奏:如果你的问题不是环境配置错误,就别死磕“生产/开发环境切换”“不存在的按钮”这类建议,先检查草稿和刷新按钮。

如果以上方法都解决不了问题,建议:

  • 升级Wrangler到最新版本(旧版本可能存在同步bug);
  • 硬刷新Cloudflare Dashboard页面(Ctrl+F5),排除浏览器缓存问题;
  • 重新生成Cloudflare API Token,确保权限配置正确。

我之前绕了一大圈才找到草稿这个关键点,希望大家别踩同样的坑~

火山引擎 最新活动