跳过主内容
CI/CD

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

您可以免费使用 GitLab 创建自己的 CI/CD pipeline,并在每次推送到主分支时自动部署您的 Ionic Capacitor JS 应用。

阿尼克·德哈巴尔·巴布

阿尼克·德哈巴尔·巴布

内容营销人员

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

本文将指导您如何在 GitLab 中设置 CI/CD pipeline。

前言

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 教程.

提交约定

首先,您需要遵循提交约定 规范提交规范提交

在 GitLab CI/CD 中使用标签

在 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

__CAPGO_KEEP_0__gitlab@yourdomain.com” 和 “GitLab CI/CD” 在脚本部分中使用您的 GitLab 邮箱和用户名。该配置仅在推送到主分支时触发作业,并排除以 “chore(release):” 开头的提交消息。

GitLab CI/CD for Build

为您的 .gitlab-ci.yml 文件添加另一个阶段:

    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

确保您已在 GitLab 项目中添加 CI/CD 变量:您的 Capgo API 密钥(CAPGO_TOKEN)已添加为变量。请前往您的项目,在 GitLab 中,导航到设置 > CI/CD > 变量,添加一个名为 CAPGO_TOKEN 的变量,并使用您的 API 密钥值。

自定义构建脚本以匹配您的项目的具体构建过程,例如更改 npm 运行构建命令。

结论

我们做到了!我们在技术之旅中又迈出了一个步伐。在现代软件开发中,CICD 是一个不可或缺的因素。因此,我希望这份指南对每个人都有所帮助。

继续阅读 Automatic build and release app with GitLab

如果您正在使用 Automatic build and release app with GitLab 来规划 CI/CD 自动化,连接它 Capgo CI/CD 为产品工作流程在 Capgo CI/CD 中 Capgo 原生构建 为产品工作流程在 Capgo 原生构建 中 Capgo 集成 为产品工作流程在 Capgo 集成 中 CI/CD 集成 CI/CD 集成的实现细节中 GitHub 动作集成 for the implementation detail in GitHub Actions Integration.

实时更新Capacitor应用

当有一个web层级别的bug在live时,通过Capgo将修复直接部署到用户端,而不是等待几天的app store审批。用户在后台接收更新,而native层级别的变化仍然在正常的审批路径中。

立即开始

最新博客文章

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