跳过主内容
CI/CD

使用Gitlab自动构建和发布

使用Gitlab免费创建自己的CI/CD管道,每次推送到main分支时都可以部署应用。

马丁·多纳迪

马丁·多纳迪

内容营销

使用Gitlab自动构建和发布

This tutorial focuses on the GitLab CI, but you can adapt it with a little tweak to any other CI/CD platform.

序言

确保您已经将应用程序添加到 Capgo, 本教程仅关注上传阶段

提交约定

首先,您需要遵循提交约定 规范提交` 这将有助于工具理解如何升级版本号,学习它只需5分钟。`

规范提交

GitLab CI for tag

然后您需要创建第一个GitLab来自动构建和创建标签

在此路径创建一个文件: .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.

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

为了让这个功能正常工作,请在你的项目根目录创建一个 __CAPGO_KEEP_0__ 并将其添加到你的GitLab CI/CD变量中。 PERSONAL_ACCESS_TOKEN.

这是让CI能够提交更改日志的必要步骤。

当你创建令牌时,请选择 never 并将范围设置为 repo.

最后,要让工具了解你的版本保存在哪里,你需要在项目根目录创建一个文件 .cz.toml 并在里面添加

将版本文件中的版本设置为你项目中的版本。

[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$major.$minor.$patch$prerelease"
version = "0.11.5"
version_files = [
    "package.json:version",
    ".cz.toml"
]

将版本文件中的版本设置为你项目中的版本。 package.json 文件.

首次使用时需要,之后工具将自动更新.

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

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 的 仓库的 GitHub 秘密中 作为 CAPGO_TOKEN.

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

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

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

去你的Capgo控制台查看刚刚出现的构建,你现在有了你的CI/CD系统。

如果你想让所有用户在它可用时都能获得更新,去你的渠道并设置为 public.

继续自动构建和发布与Gitlab

如果你正在使用 自动构建和发布与Gitlab 来规划CI/CD自动化,连接它与 Capgo CI/CD 在Capgo CI/CD中的产品工作流程中, Capgo原生构建 为产品工作流程在Capgo原生构建中 Capgo集成 为产品工作流程在Capgo集成中 CI/CD集成 CI/CD集成的实现细节,以及 GitHub动作集成 在GitHub动作集成的实现细节。

Capacitor 应用实时更新

当 web 层 bug 活跃时,通过 Capgo 将修复推送到用户,而不是等待几天的应用商店审批。用户在后台接收更新,而原生变化保持在正常的审批路径中。

立即开始

最新博客文章

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