跳过主内容
CI/CD

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

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

阿尼克·德哈巴尔·巴布

阿尼克·德哈巴尔·巴布

内容营销人员

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

本文将指导您如何使用GitLab设置CI/CD管道。

序言

确保您已将Capacitor应用程序添加到Capgo中,这个教程仅关注上传阶段。如果您需要将应用程序添加到Capgo中,请遵循 教程.

提交规范

首先,您需要遵循提交规范 规范提交` 这将有助于工具了解如何升级版本号,学习时间仅5分钟。`

规范提交

GitLab CI/CD for 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 邮箱和用户名,在脚本部分。该配置仅在推送到主分支时触发任务,并排除以 “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

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

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

结论

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

从自动化构建和发布应用程序(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为您提供创建真正专业的移动应用所需的最佳见解。