本文将指导您如何使用 GitLab 设置 CI/CD pipeline。
前言
确保您已将您的 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 文件添加另一个阶段:build
确保您已在 GitLab 项目中添加 CI/CD 变量 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__(__CAPGO_KEEP_2___TOKEN)。在 GitLab 中导航到您的项目,转到设置 > CI/CD > 变量,添加一个名为 __CAPGO_KEEP_3___TOKEN 的变量,并将其值设置为您的 __CAPGO_KEEP_4__ 密钥。
自定义构建脚本以匹配您的项目的具体构建过程,例如修改 __CAPGO_KEEP_0__ 运行构建命令
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
Ensure you have your Capgo API key (CAPGO_TOKEN) added as a CI/CD variable in your GitLab project. Go to your project in GitLab, navigate to Settings > CI/CD > Variables, and add a variable named CAPGO_TOKEN with your API key value.
Customize the build script to match your specific project’s build process, such as changing the npm run build command.
结论
我们来了!我们在技术之旅中走了一步。现代软件开发中,CICD是需要考虑的关键因素。希望这份指南对大家都有帮助。
继续阅读:GitLab自动构建和发布应用
如果您正在使用 GitLab自动构建和发布应用 来规划CI/CD自动化,连接它与 Capgo CI/CD 为Capgo CI/CD中的产品工作流程 Capgo Native Builds 为Capgo Native Builds中的产品工作流程 Capgo Integrations 为Capgo Integrations中的产品工作流程 CI/CD 集成 CI/CD 集成的实现细节 GitHub 动作集成 GitHub 动作集成的实现细节