跳过主要内容
CI/CD

Automate Capgo Live Updates from Lovable with GitHub Actions

只需一键从可爱的GitHub发布到生产用户:同步到GitHub,存储您的CapgoAPI密钥作为机密,允许GitHub Actions在每次推送时构建和上传。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销

Automate Capgo Live Updates from Lovable with GitHub Actions

您的客户希望在可爱的__CAPGO_KEEP_0__中有一个单击按钮,向每个活跃用户发送更改。您已经证明了更新路径的手动工作:

npx @capgo/cli@latest bundle upload --channel=production --auto-bump

缺少的部分不是在可爱的__CAPGO_KEEP_0__中输入另一个终端命令。 可爱的Capgo无法在发布时运行Capgo。 当GitHub同步功能启用时, 发布推送将提交到您的仓库. GitHub Actions 运行构建和 bundle upload 为您完成。

本指南涵盖客户必须执行的唯一手动设置:将 CAPGO_TOKEN 作为 GitHub 秘密添加。对于工作流文件,请将准备好的 AI 指令复制并粘贴到可爱的 (步骤 3) 中。

管道的工作原理

步骤 发生什么
1 客户 在可爱中编辑应用并点击 发布
2 Lovable 向 GitHub (通常 main)
3 GitHub Actions npm ci, npm run build, bundle upload --auto-bump 向 Capgo
4 Capgo 提交到 Capgo production 活跃设备

No SSH, no local CLI, no extra click after the secret is configured.

无 SSH、无本地 __CAPGO_KEEP_0__、无配置密钥后额外点击

为什么 --auto-bump

每次 Capgo 上传都需要一个 新版本的捆绑包. Lovable Publish 不会为您自动增加版本号 package.json 因此,如果您重复使用相同的版本号,CI 将在第二次部署时失败。

--auto-bump 读取频道(或应用程序)中的最新版本并递增它。默认级别是 minor. 您可以传递 --auto-bump patch--auto-bump major 如果您喜欢。

步骤 1 — 创建一个 Capgo API 密钥

  1. 打开 console.capgo.app/apikeys/
  2. 创建一个具有上传应用程序捆绑包权限的 API 密钥
  3. 复制此密钥一次。您将无法再次看到完整的值

对此密钥保持保密。绝不将其提交到 Git 或粘贴到可爱的聊天中。

步骤 2 — 添加 CAPGO_TOKEN 在 GitHub (仅限环境步骤) 中

这是您发送给 Kuldeep 和任何拥有仓库的客户的步骤。

  1. 打开 GitHub 仓库,Lovable 同步到该仓库
  2. 前往 设置密钥和变量动作
  3. 点击 新建仓库密钥
  4. 名称: CAPGO_TOKEN
  5. 值:粘贴第 1 步中的 Capgo API 密钥
  6. 保存

GitHub 将密钥注入工作流程中作为 ${{ secrets.CAPGO_TOKEN }}. 下面的工作流程将其读取为 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 环境变量 CAPGO_TOKEN environment variable for the Capgo CLI.

如果仓库位于客户组织下,他们必须在 他们的 仓库中添加这个密钥。您只需要在GitHub中填入密钥,而不是在Lovable设置中。

步骤 3 — 将这个提示粘贴到Lovable

将以下代码块复制到Lovable聊天中。如果您的默认分支不是 main,请将 main 替换为您的分支名称。

Add Capgo Live Updates CI with GitHub Actions.

Create `.github/workflows/capgo-live-updates.yml` (create folders if needed). Start from this YAML, then adapt install/build to this project while keeping Capgo upload + CAPGO_TOKEN secret behavior:

name: Capgo Live Updates

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Setup Node.js
        uses: actions/setup-node@v6
        with:
          node-version: '24'
          cache: 'npm'

      - name: Install and build
        run: |
          npm ci
          npm run build

      - name: Upload bundle to Capgo
        run: npx @capgo/cli@latest bundle upload --channel=production --auto-bump
        env:
          CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}

Rules:
- Do not hardcode any Capgo API key in the repo or in chat.
- The workflow must read CAPGO_TOKEN only from GitHub Actions secrets (`${{ secrets.CAPGO_TOKEN }}`).
- Keep `--auto-bump` on the upload command so each Publish gets a new unique bundle version.
- Prefer the project's real production build script from package.json (for example `npm run build` or `vite build`).
- If package-lock.json is missing, use `npm install` instead of `npm ci`.
- Do not modify app UI or Capacitor config for this task.
- Commit the workflow file so the next Publish pushes it to GitHub.

在Lovable应用更改后,点击 发布 以便工作流程可以在GitHub中生效。

手动替代方案

如果您不想使用Lovable聊天,创建 .github/workflows/capgo-live-updates.yml 使用本 YAML 文件(不含提示文本)。如果您的项目有所不同,请适应安装/构建步骤,然后提交并推送。

name: Capgo Live Updates

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Setup Node.js
        uses: actions/setup-node@v6
        with:
          node-version: '24'
          cache: 'npm'

      - name: Install and build
        run: |
          npm ci
          npm run build

      - name: Upload bundle to Capgo
        run: npx @capgo/cli@latest bundle upload --channel=production --auto-bump
        env:
          CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}

Vite base path: 可爱的 Vite 应用程序通常需要 base: './' in vite.config.ts 以便资产在原生 shell 内加载。如果用户在 OTA 更新后看到白屏,请要求可爱的设置 base: './', 重新发布,并让工作流重新部署。

加密的捆绑包: 如果您使用 Capgo 加密,请添加 CAPGO_PRIVATE_KEY 作为第二个GitHub密钥并传递 --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" 在上传步骤中。

步骤 4 — 确认发布触发部署

  1. 在 Lovable 中,创建一个小的可见变化(例如按钮标签文本)
  2. 点击 发布
  3. 在 GitHub 中,打开 动作 观看 Capgo 实时更新
  4. 当作业为绿色时,打开您的 Capgo 控制台 并确认新包在 production 频道
  5. 在已安装应用程序的设备上,确认更改已到达(可能需要一分钟的时间,取决于频道设置)

成功: 在可爱的 → 绿色 GitHub 动作 → 新的 Capgo 包 → 用户收到更新。

故障排除

context:支持/高级支持页面或底部支持部分。角色:部分或页面标题。见于:页面support-policy.astro。消息键`support_policy_troubleshooting_title`(支持政策故障排除标题)。 症状 可能原因
解决方案 工作流程永远不会运行 main 推送到一个其他于 branches 更改在工作流程或发布到 main
CAPGO_TOKEN /认证错误 缺少或名称错误的密钥 密钥必须精确 CAPGO_TOKEN 在 Actions 密钥下
版本已存在 上传重复使用了相同的捆绑包版本 保留 --auto-bump 在上传步骤 (或传递 --auto-bump patch)
npm ci 本地运行,提交 锁文件不一致 npm install 运行 package-lock.json, 重新发布
上传成功,白屏 错误 webDir 或 Vite base 匹配 capacitor.config.ts webDir 将构建输出 (dist 为 Vite) 和设置 base: './'
用户无法看到更新 频道未链接到他们的构建 在 Capgo 中,链接设备构建到 production 或将频道设置为公共

更多工作流模式(特性分支,PR频道,加密),请参见 GitHub Actions integration.

您告诉客户

发送他们这个检查清单:

  1. 已经将可爱的Lovable连接到GitHub,并在移动应用程序上设置了Capgo。
  2. 他们 添加一个GitHub密钥: CAPGO_TOKEN 与他们的CapgoAPI密钥(apikeys页面).
  3. 他们 点击 发布 在 Lovable 中,用户可以随时接收更新。
  4. 它们永远不会运行 npx @capgo/cli 除非他们想这样做

那就是他们要求的单击体验:在 Lovable 中发布就是按钮;GitHub Actions 和Capgo 会处理剩余的工作。

继续

实时更新 Capacitor 应用

当 web 层面的 bug 在线时,通过 Capgo 将修复推送给用户,而不是等待几天的 app 商店审批。用户在后台接收更新,而原生变化仍然在正常审批路径中。

来自马丁的人性化支持

立即开始

最新博客文章

Capgo 给您所需的最佳洞察力来创建真正专业的移动应用