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

Github アクションでアプリを自動ビルド・リリース

Github actions を使って、独自の CI/CD パイプラインを無料で構築しましょう。main ブランチに push するたびに、Ionic Capacitor JS アプリをデプロイできます。

Github アクションでアプリを自動ビルド・リリース

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

はじめに

まず最初に Capacitor アプリを Capgo に追加しておいてください。このチュートリアルでは upload フェーズのみを解説します。 Capgo にアプリを追加する必要がある場合は、こちらを参照してください。 チュートリアル

コミット規約

まずはコミット規約に従うことから始めましょう conventional commits` を使うことで、ツールがバージョン番号の更新方法を理解できるようになります。習得は5分で完了します。

Conventional commits

タグ用の GitHub actions

次に、自動ビルドとタグ作成を行うための最初の GitHub action を作成します。

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

内容は以下の通りです:

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

これにより、mainブランチへのコミットごとにタグがリリースされます。また、mainブランチの各コミットに対して、 CHANGELOG.md.

このファイルがなくても大丈夫です。自動的に作成されます。

これを実現するには、次を作成してください: パーソナルアクセストークン それを GitHub に追加します secrets 名前は次のとおり: PERSONAL_ACCESS_TOKEN.

これはCIにchangelogをコミットさせるために必要です。

トークン作成時、有効期限(expiration)は never スコープ(scope)は repo.

Lastly, set the version in your package.json ファイルで設定し、Nativeのバージョン番号と同期させておくと、次のステップがスムーズになります。

これは初回のみ必要で、以降はツールが自動的に更新を維持します。

両方のファイルをコミットすれば、GitHub に最初のタグが表示されます!

各コミット後、ネイティブとWebの両プラットフォームでバージョン番号が上がります。

ビルド用の GitHub actions

以下のパスにファイルを作成してください: .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 に送信します。

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

これを機能させるには、Capgo 用の API キーを取得し、 GitHub リポジトリの Secret に追加してください。 名前は次のとおり: CAPGO_TOKEN.

両方のファイルをコミットすれば、GitHub に最初のタグが表示されます!

コミットを追加すると、production チャネル用の新しいビルドが生成されます。

ビルドステップにテストを追加して、code が正しく動作することを確認しましょう。

Capgo ダッシュボードに移動して、今表示されたビルドを確認してください。これで CI/CD システムの完成です。

すべてのユーザーが、アップデートが利用可能になったらそれを受け取れるようにするには、チャンネルに移動して次のように設定してください: public.

以下のチュートリアルに従えば、Ionic Capacitor JavaScriptアプリのNative Buildを追加することも可能です 👇

Github actionsを使用したアプリの自動ビルドとリリースからステップアップ

以下を使用している場合: Github アクションでアプリを自動ビルド・リリース CI/CD 自動化を計画するには、次と接続します: Capgo による CI/CD Capgo CI/CD のプロダクトワークフロー向けに、 Capgo Native Build Capgo Native Builds のプロダクトワークフロー向けに、 Capgo 連携一覧 Capgo Integrations のプロダクトワークフロー向けに、 CI/CD 連携 CI/CD Integration の実装詳細向け、および GitHub Actions 連携 GitHub Actions Integration の実装詳細については。

Capacitor アプリ向けの Live Update

Webレイヤーのバグが本番に出たときは、アプリストアの審査を何日も待たずに Capgo で修正を配信できます。ネイティブの変更は通常の審査フローに乗せたまま、ユーザーにはバックグラウンドでアップデートが届きます。

最新のブログ記事

Capgo は、本格的なプロフェッショナルモバイルアプリの開発に必要な最高のインサイトを提供します。