メインコンテンツにジャンプします
CI/CD

Manage development and production build with GitHub actions

Use Capgo to release your devbuild to specific channel, and let your team try your Capacitor Ionic app, without waiting Apple and Google review

記事のクレジット

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

ライター

バレリア

レビュアー

ジョーダン

編集者

Manage development and production build with GitHub actions

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

序文

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

コミット規約

最初にコミット規約を遵守する必要があります。 コミット規約「`」を始めると、ツールがバージョン番号をアップグレードする方法を理解するのに役立ちます。5分で学べます。

コミット規約

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.

このファイルが必要ない場合は心配しないでください。 これは自動で作成されます。

この機能を使用するには、 PERSONAL ACCESS TOKEN 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 プロジェクト設定の__CAPGO_KEEP_0__で、秘密の__CAPGO_KEEP_1__アクションを設定します。 secret GitHubのアップロードを実行するには、__CAPGO_KEEP_2__のGitHubキーを取得し、GitHubリポジトリの秘密に追加する必要があります。

To make Capgo upload work, you need to get your API key for Capgo, add it in the これらのファイルをコミットすると、GitHubに最初のバージョンが表示されます。 __CAPGO_KEEP_0__のコミットは、プロダクションと開発チャンネルの新しい__CAPGO_KEEP_0__ビルドを生成します。 CAPGO_TOKEN.

Ionicビルドステップでテストを追加して、Capgoが正常に動作していることを確認する必要があります。

Capacitorダッシュボードに移動し、表示されたビルドを確認すると、CI/CDシステムが実際に機能していることを確認できます。

You should add your test in the Ionic build step to be certain your code is working.

Go To your Capgo dashboard and check your build who just appeared, you now have your CI/CD system.

Keep going from Manage development and production build with GitHub actions

あなたが使用している場合 Manage development and production build with GitHub actions チャンネルルーティングとステージドロールアウトを計画するには、__CAPGO_KEEP_0__アクションと接続する チャンネル チャンネル チャンネル チャンネル ベータテストソリューション ベータテストソリューションの製品ワークフロー バージョン目標ソリューション for the product workflow in Beta Testing Solution, and Version Targeting Solution Version Targeting Solutionの製品ワークフロー向け。

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

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_KEEP_0__ を通して修正を配信する。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー パスに残る。

ページ/エリア: Capgo マーケティング ウェブサイト。役割: サポートする説明文またはメタ ディスクリプション。見られる場所: コンポーネント GetStarted.astro。Capgo の製品/ブランドと開発者用語を完全に保持する。

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

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