メインコンテンツにスキップ
CI/CD

GitLabを使用した自動ビルドとリリース

GitLabを使用して無料でCI/CDパイプラインを作成し、mainブランチにpushするたびにアプリをデプロイしてください。

記事のクレジット

マーティン・ドナディュー

記事の執筆者

バレリア

レビュー

ジョーダン

編集

GitLabを使用した自動ビルドとリリース

このチュートリアルはGitLab CIに焦点を当てていますが、他のCI/CDプラットフォームに少し調整することで、他のプラットフォームでも適用できます。

序文

Be sure you added your app first to Capgo, this tutorial just focuses on the upload phase

コミット規約

Capgo Builderのnative cloud build製品ページの最初のUIラベルまたはナビゲーションアイテムです。 conventional commitsconventional commits

タグ用のGitLab CI

次に、自動的にビルドしてタグを作成するGitLabを作成する必要があります。

ファイルを作成するパス:

この内容で: .github/workflows/bump_version.yml

__CAPGO_KEEP_0__

name: Bump version

on:
  push:
    branches:
      - main

jobs:
  bump-version:
    if: "!startsWith(github.event.head_commit.message, 'chore(release):')"
    runs-on: ubuntu-latest
    name: "Bump version and create changelog with standard version"
    steps:
      - name: Check out
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
          filter: blob:none
          token: '${{ secrets.PERSONAL_ACCESS_TOKEN }}'
      - name: Git config
        run: |
          git config --local user.name "github-actions[bot]"
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
      - name: Create bump and changelog
        run: npx capacitor-standard-version
      - name: Push to origin
        run: |
          CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
          remote_repo="https://${GITHUB_ACTOR}:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git"
          git pull $remote_repo $CURRENT_BRANCH
          git push $remote_repo HEAD:$CURRENT_BRANCH --follow-tags --tags

この設定では、メインブランチのすべてのコミットに対してタグをリリースし、メインブランチのすべてのコミットに対して変更履歴エントリを追加します。 CHANGELOG.md.

このファイルが存在しない場合も、自動的に作成されます。

この機能を使用するには、GitLab CI/CD変数に PERSONAL ACCESS TOKEN を追加する必要があります。 PERSONAL_ACCESS_TOKEN.

CIが変更履歴をコミットできるようにするためです。

トークンを作成する際に、有効期限を never とスコープを repo.

に選択してください。 .cz.toml ツールがバージョンを理解できるようにするには、リポジトリのrootディレクトリに

ファイルを作成する必要があります。

[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$major.$minor.$patch$prerelease"
version = "0.11.5"
version_files = [
    "package.json:version",
    ".cz.toml"
]

以下の内容を追加してください。バージョンを以下のファイルに設定してください。 package.json ファイル。

最初の1回だけ必要な場合、それ以降はツールが自動的に更新します。

GitHubにタグが表示されます。

GitHubのビルドアクション

このパスにファイルを作成します: .github/workflows/build.yml

この内容で:

name: Build source code and send to Capgo

on:
  push:
    tags:
      - '*'
      
jobs:
  deploy:
    runs-on: ubuntu-latest
    name: "Build code and release"
    steps:
      - name: Check out
        uses: actions/checkout@v6
      - name: Install dependencies
        id: install_code
        run: npm i
      - name: Build
        id: build_code
        run: npm run build
        env: # Remove both lines  if you don't need it
          FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }} # Example of env var coming from a secret
      - name: Create Release
        id: create_release
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

Capgoに依存関係をインストールしてビルドし、Capgoに送信します。

ビルドコマンドが異なります場合は、ステップを変更してください。 build_code __CAPGO_KEEP_0__の__CAPGO_KEEP_1__キーを取得し、__CAPGO_KEEP_0__のリポジトリのシークレットに追加してください。

To make this work, you need to get your API key for Capgo, add it in the GitHubのシークレットに追加してください。 __CAPGO_KEEP_0__のシークレットに追加してください。 CAPGO_TOKEN.

GitHubでこの両方のファイルをコミットし、最初のタグがGitHubに表示されることを確認できます。

プロダクションチャンネルに対してコミットすると、新しいビルドが生成されます。

ビルドステップでテストを追加するようにしてください。codeが正常に動作していることを確認する必要があります。

Capgoダッシュボードに移動し、直近のビルドを確認してください。CI/CDシステムが稼動しています。

すべてのユーザーが利用可能なときにアップデートを受け取るようにしたい場合は、チャンネルに移動し、__CAPGO_KEEP_0__に設定してください。 public.

GitLabを使用して自動ビルドとリリースを実現するには、続けてください。

GitLabを使用してCI/CDの自動化を計画する場合、__CAPGO_KEEP_0__ CI/CDと接続してください。 __CAPGO_KEEP_0__ CI/CDの製品ワークフローに__CAPGO_KEEP_0__ Native Buildsを接続してください。 __CAPGO_KEEP_0__ Capgo Capgo Capgo CI/CD Capgo Native Builds について Capgo の統合 Capgo Native Builds について CI/CD統合 CI/CD統合の実装詳細について GitHub アクション統合 GitHub アクション統合の実装詳細について

Live updates for Capacitor apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

マーティンから人間のサポート

今すぐ始めよう

最新のブログ

Capgo gives you the best insights you need to create a truly professional mobile app.