跳过主要内容
CI/CD

使用GitHub管理开发和生产构建

使用Capgo将开发构建发布到特定频道,让您的团队尝试您的CapacitorIonic应用,而无需等待苹果和谷歌审查

Martin Donadieu

Martin Donadieu

内容营销人员

使用GitHub管理开发和生产构建

本教程重点介绍了GitHub托管,但您可以轻松适应任何其他CI/CD平台.

前言

确保您已在Capgo中添加了您的Capacitor应用本教程仅关注上传阶段

提交规范

首先你需要遵循提交规范 规范提交这样会帮助工具了解如何升级版本号,学习它只需5分钟。

规范提交

GitHub

然后你需要创建第一个GitHub动作来自动构建和创建标签。

在这个路径创建一个文件: .github/workflows/bump_version.yml

内容如下:

name: Bump version

on:
  push:
    branches:
      - main
      - development

jobs:
  bump-version:
    if: "!startsWith(github.event.head_commit.message, 'chore(release):')"
    runs-on: ubuntu-latest
    name: "Bump version and create changelog with standard version"
    steps:
      - name: Check out
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
          filter: blob:none
          token: '${{ secrets.PERSONAL_ACCESS_TOKEN }}'
      - name: Git config
        run: |
          git config --local user.name "github-actions[bot]"
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
      - name: Create bump and changelog
        if: github.ref == 'refs/heads/main'
        run: npx capacitor-standard-version
      - name: Create bump and changelog
        if: github.ref != 'refs/heads/main'
        run: npx capacitor-standard-version --prerelease alpha
      - name: Push to origin
        run: |
          CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
          remote_repo="https://${GITHUB_ACTOR}:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git"
          git pull $remote_repo $CURRENT_BRANCH
          git push $remote_repo HEAD:$CURRENT_BRANCH --follow-tags --tags

这样会为你的主分支中的每次提交创建一个标签。并且 alpha 发布 development,最后为每次提交创建一个更改日志条目 CHANGELOG.md.

如果你没有这个文件,也不用担心,它会自动创建。

为了让它工作,你需要创建一个 个人访问令牌 并将其添加到你的GitHub 机密 作为 PERSONAL_ACCESS_TOKEN.

这有必要让CI提交changelog和版本更新。

当你创建令牌时,请选择 never 作为过期时间 repo.

并选择 version 作为范围 package.json file. 使用该最后版本在商店。

这仅仅是第一次必要的,之后工具将会自动更新。

您现在可以提交这两个文件并看到您的第一个标签出现在 GitHub!

capacitor-standard-version 是包,负责完成魔法, 默认情况下,他也会更新您的Android和IOS版本号

GitHub 构建动作

在此路径创建一个文件: .github/workflows/build.yml

内容:

name: Build source code and send to Capgo

on:
  push:
    tags:
      - '*'
      
jobs:
  deploy:
    runs-on: ubuntu-latest
    name: "Build code and release"
    steps:
      - name: Check out
        uses: actions/checkout@v6
      - name: Install dependencies
        id: install_code
        run: npm i
      - name: Build
        id: build_code
        run: npm build
        env:
          MY_ENV_VAR: ${{ secrets.MY_ENV_VAR }}
      - name: Create Release Alpha
        if: "contains(github.ref, '-alpha.')"
        id: create_release_prepro
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c development
      - name: Create Release Production
        if: "!contains(github.ref, '-alpha.')"
        id: create_release_prod
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

这将会安装并构建您的依赖项,然后将其发送到 Capgo。

如果您的构建命令不同,您可以在 build_code 步骤中进行修改。

如果您需要一个环境变量,请使用 MY_ENV_VAR 并设置 secret 在您的 GitHub 项目设置中,秘密,然后 GitHub 动作。

为了使 Capgo 上传工作,您需要获取您的 API 密钥并将其添加到 Capgo 中, 您的 GitHub 仓库的密钥 作为 CAPGO_TOKEN.

您现在可以提交这两个文件并在 Capgo 中看到您的第一个版本!

添加提交将为生产和开发通道生成新的 Capacitor 构建。

您应该在Ionic构建步骤中添加测试,以确保您的 code 正常工作。

前往您的 Capgo 控制台并检查刚刚出现的构建,您现在拥有了CI/CD系统。

Capacitor 应用的实时更新

当有 web-layer 的 bug 时,通过 Capgo 发布修复,而不是等待几天的 app store 审批。用户在后台接收更新,而原生变化仍在正常的审批路径中。

立即开始

最新博客

Capgo 为您提供创建真正专业的移动应用所需的最佳见解。