跳过主要内容
CI/CD

使用Github自动构建和发布应用

免费创建自己的CI/CD管道,使用Github每次推送到主分支时都部署Ionic Capacitor JS应用

文章来源

马丁·多纳迪尤

作者

瓦莱里亚

审稿人

乔丹

编辑器

自动构建和发布应用程序与Github动作

本教程重点介绍GitHub托管,但您可以轻微调整以适应任何其他CI/CD平台。

前言

Be sure you have added your Capacitor app first to Capgo, this tutorial just focuses on the upload phase. If you need to add your app to Capgo, you can follow this 教程

提交约定

首先,您需要遵循提交约定 上下文提交遵循`此将有助于工具了解如何升级版本号,学习它只需5分钟。`

上下文提交

GitHub动作标签

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

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

内容如下:

name: Bump version

on:
  push:
    branches:
      - main

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
        run: npx capacitor-standard-version
      - 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

这将为每次提交在主分支中发布一个标签,并为每次提交在主分支中添加一个更改日志条目。 CHANGELOG.md.

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

为了让这个功能工作,创建一个 个人访问令牌 并将其添加到你的GitHub 密钥 作为 PERSONAL_ACCESS_TOKEN.

这有必要让CI提交更改日志。

当您创建令牌时,请选择过期时间为 never 并将范围设为 repo.

最后,请在您的 package.json 文件中设置版本号,并将其同步到您的本机版本号,这将大大简化流程,然后是下一步。

这只需要在第一次使用时,之后工具将自动更新。

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

本地和Web平台都会在每次提交后将版本号更新。

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 run build
        env: # Remove both lines  if you don't need it
          FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }} # Example of env var coming from a secret
      - name: Create Release
        id: create_release
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

这将在发送到Capgo之前安装和构建您的依赖项。

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

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

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

添加此提交将为生产渠道生成一个新的构建。

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

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

如果您希望让所有用户在可用时立即获得更新,请转到您的渠道并将其设置为 public.

您还可以通过遵循此教程👇添加您的IonicCapacitor JavaScript应用的原生构建。

Keep going from Automatic build and release app with Github actions

如果您正在使用 自动构建和发布应用程序与Github动作 以计划CI/CD自动化并将其与 Capgo CI/CD 为Capgo CI/CD产品工作流 Capgo 原生构建 为Capgo 原生构建产品工作流 Capgo 集成 为Capgo 集成产品工作流 CI/CD集成 CI/CD集成 GitHub Actions Integration GitHub 动作集成

Live updates for Capacitor apps

当一个 web层 bug 活跃时,通过 Capgo 将修复推送到应用程序,而不是等待几天的应用商店批准。用户在后台接收更新,而本机更改保持在正常的审查路径中。

来自 Martin 的人性化支持

立即开始

最新博客文章

Capgo 给您需要创建真正专业的移动应用程序所需的最佳见解。