CI/CD pipelineの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 チュートリアル.
コミット規約
Capgo Builder / Native Cloud Build製品ページの「Native Build Builder Credit First」メッセージキーに該当するUIラベルまたはナビゲーションアイテムの場合、最初にコミット規約を遵守する必要があります。 コンベンショナル コミットコンベンショナル コミット

.gitlab-ci.ymlファイルを作成し、GitLabリポジトリのルートに置きます。以下の内容を記述します。
「
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
Replace “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のCapgo APIキー(CAPGO_TOKEN)をGitLabプロジェクトのCI/CD変数に追加してください。GitLabでプロジェクトを開き、設定>CI/CD>変数に移動し、CAPGO_TOKENという変数を追加して、APIキー値を設定してください。
ビルドスクリプトをプロジェクト固有のビルドプロセスに合わせてカスタマイズしてください。たとえば、npm ビルドコマンドを変更してください。
結論
ここまで!私たちは技術の旅をさらに進みました。現代のソフトウェア開発では、CICDは重要な要素です。なので、このガイドラインが全員に理解できるものであることを願っています。
Automatic build and release app with GitLab
GitLabを使用している場合 Automatic build and release app with GitLab CI/CDの自動化を計画するには、GitLabと接続してください。 Capgo CI/CD Capgo製品ワークフロー向け Capgoネイティブビルド Capgo製品ワークフロー向け Capgo統合 Capgo製品ワークフロー向け CI/CD統合 __CAPGO_KEEP_0__アクション統合 GitHubアクション統合 for the implementation detail in GitHub Actions Integration.