跳转至正文
CI/CD

使用 GitLab 自动 build 并发布应用

使用 GitLab 免费构建专属 CI/CD pipeline,每次 push 到 main 分支时即可自动部署你的 Ionic Capacitor JS 应用。

使用 GitLab 自动 build 并发布应用

本文将指导你如何用 GitLab 配置 CI/CD pipeline。

前言

请确保先将你的 Capacitor 应用添加到 Capgo,本教程只涉及上传阶段。如果你需要将应用添加到 Capgo,可以参考这篇教程 教程.

Commit 规范

首先,你需要开始遵循 commit 规范 约定式提交 (conventional commits)` 这将帮助工具链理解如何升级版本号,学会它只需 5 分钟。

约定式提交 (Conventional commits)

GitLab CI/CD 用于 Tag

在 GitLab 仓库根目录下创建一个 .gitlab-ci.yml 文件,内容如下

 stages:
      - tag

 bump_version:
   stage: tag
   only:
     - main
  except:
    variables:
  - $CI_COMMIT_MESSAGE =~ /^chore\(release\):/
  script:
   - git config --global user.email "gitlab@yourdomain.com"
   - git config --global user.name "GitLab CI/CD"
   - git checkout $CI_COMMIT_REF_NAME
   - git pull origin $CI_COMMIT_REF_NAME
   - npx capacitor-standard-version
   - git push origin $CI_COMMIT_REF_NAME --tags

将 “gitlab@yourdomain.com” 和 “GitLab CI/CD” 替换为脚本部分中的 GitLab 邮箱和用户名。此配置仅在推送到 main 分支时触发 job,并排除以 “chore(release):” 开头的 commit。

GitLab CI/CD 用于 Build

在 .gitlab-ci.yml 文件中为 build 添加另一个 stage:

    stages:
      - deploy

   deploy:
     stage: deploy
     only:
       - tags  # This job will only run for tag pushes
     script:
       - apt-get update -qy && apt-get install -y nodejs npm
       - npm install -g @capgo/cli
       - npm ci
       - npm run build
       - npx @capgo/cli bundle upload -a $CAPGO_TOKEN -c production
     variables:
       FIREBASE_CONFIG: $FIREBASE_CONFIG  # Define this in your GitLab project settings
     environment:
       name: production

请确保已将您的 Capgo API 密钥 (CAPGO_TOKEN) 作为 CI/CD 变量添加到 GitLab 项目中。在 GitLab 项目中,前往 Settings > CI/CD > Variables,添加名为 CAPGO_TOKEN 的变量,并填入您的 API 密钥值。

根据您项目的具体构建流程自定义构建脚本,例如修改 npm run build 命令。

总结

大功告成!我们在技术进阶之路上又迈出了坚实的一步。在现代软件开发中,CI/CD 是不可或缺的关键环节。希望这份指南能对大家有所帮助。

继续阅读:使用 GitLab 实现 App 的自动构建与发布

如果你正在使用 使用 GitLab 自动 build 并发布应用 规划 CI/CD 自动化,并将其与 Capgo CI/CD 用于 Capgo CI/CD 中的产品工作流, Capgo Native Build 用于 Capgo Native Builds 中的产品工作流, Capgo 集成 用于 Capgo 集成中的产品工作流, CI/CD 集成 了解 CI/CD 集成的实现细节,以及 GitHub Actions 集成 有关 GitHub Actions 集成的实现细节。

为 Capacitor 应用提供 Live Updates

当 Web 层出现线上 Bug 时,通过 Capgo 发布修复,而不用等 App Store 审核好几天。用户会在后台收到更新,原生变更则仍走正常审核流程。

博客最新动态

Capgo 为你提供打造真正专业的移动应用所需的最有价值的洞察。