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

開発と運用ビルドを管理するためにGitHubアクションを使用します

Capgoを使用して、特定のチャンネルに開発ビルドをリリースし、チームがAppleとGoogleのレビューを待たずにCapacitorのIonicアプリを試すことができます

マーティン・ドナディエ

マーティン・ドナディエ

コンテンツマーケター

開発と運用ビルドを管理するためにGitHubアクションを使用します

このチュートリアルはGitHubホスティングに焦点を当てていますが、他のCI/CDプラットフォームに適応するために少しの調整が必要です

序文

CapacitorアプリをCapgoに追加することを確認してください。このチュートリアルはアップロードフェーズに焦点を当てています

コミット規約

コミット規約に従う必要があります conventional commits` このツールがバージョン番号をアップグレードする方法を理解するのに役立つでしょう。5分で学べます。

Conventional Commits

GitHub タグのためのアクション

最初の GitHub アクションを作成する必要があります。自動的にビルドしてタグを作成します。

このパスにファイルを作成してください: .github/workflows/bump_version.yml

この内容で:

name: Bump version

on:
  push:
    branches:
      - main
      - development

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
        if: github.ref == 'refs/heads/main'
        run: npx capacitor-standard-version
      - name: Create bump and changelog
        if: github.ref != 'refs/heads/main'
        run: npx capacitor-standard-version --prerelease alpha
      - 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

主ブランチのすべてのコミットに対してタグをリリースし、 alpha リリースする、 developmentそして最後に、 CHANGELOG.md.

コミットごとに変更履歴エントリを生成します。

このファイルが必要ありません。自動的に作成されます。 この機能を実現するには、パーソナル アクセス トークンを作成する必要があります。 そしてGitHubに追加してください シークレット として PERSONAL_ACCESS_TOKEN.

CIがチェンジログとバージョンアップをコミットできるようにする必要があります。

トークンを作成するときは、期限を never スコープを repo.

キーを version ファイルに設定してください。 package.json そのために、ストアから最後にリリースされたバージョンを使用してください。

これは最初の時のみ必要です。 その後、ツールは最新の情報を保持します。

GitHubで最初のタグが表示されるまで、この両方のファイルをコミットしてください!

capacitor-standard-version は、デフォルトでは、AndroidとIOSのバージョン番号も更新します。

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 build
        env:
          MY_ENV_VAR: ${{ secrets.MY_ENV_VAR }}
      - name: Create Release Alpha
        if: "contains(github.ref, '-alpha.')"
        id: create_release_prepro
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c development
      - name: Create Release Production
        if: "!contains(github.ref, '-alpha.')"
        id: create_release_prod
        run: npx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} -c production

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

ビルドのコマンドが異なる場合、を変更できます。 build_code ステップ。

環境変数が必要な場合、を使用して、 MY_ENV_VAR をプロジェクト設定の から設定し、秘密の から secret in your GitHub project setting, then secret then GitHub Action.

To make Capgo upload work, you need to get your API key for Capgo, add it in the GitHub アップロードを実行するには、 As CAPGO_TOKEN.

Capgoにファイルをコミットしてみてください。最初のバージョンがCapgoに表示されます!

Capacitorのコミットを追加すると、生産用と開発用のCapacitorビルドが自動生成されます。

イオニックのビルドステップでテストを追加してください。codeが正しく動作していることを確認するためです。

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

GitHubアクションを使用して開発と生産用のビルドを管理し続けます。

__CAPGO_KEEP_0__を使用している場合 GitHubアクションを使用して開発と生産用のビルドを管理し続けます。 チャネルルーティングやステージドロールの計画を行うには、__CAPGO_KEEP_0__を チャネル チャネルの実装詳細については、チャネルを参照してください。 チャネル Channelsの実装詳細について Channels Channelsの実装詳細について ベータテストソリューション ベータテストソリューションの製品ワークフローについて、 バージョン対象ソリューション バージョン対象ソリューションの製品ワークフローについて。

Capacitor アプリ用リアルタイム更新

Capgo を使用してウェブ層のバグが生じた場合、App Storeの承認待ちの日数を待たずに修正を配信する。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路で進む。

今すぐ始める

最新のブログ記事

Capgo を使用すると、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を得ることができます。