このチュートリアルはGitHubホスティングに焦点を当てていますが、少しの調整を加えることで他のCI/CDプラットフォームにも適応できます。
前書き
最初にCapgoにあなたのCapacitorアプリを追加していることを確認してください。このチュートリアルはアップロードフェーズに焦点を当てています。
コミット規約
まず、従来のコミットのコミット規約に従い始める必要があります。これはツールがバージョン番号を更新する方法を理解するのに役立ちます。学ぶのに5分もかかりません。
タグ用のGitHubアクション
次に、タグを自動的にビルドし作成するための最初のGitHubアクションを作成する必要があります。
このパスにファイルを作成します: github/workflows/bump_versionyml
次の内容で:
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@v4 with: fetch-depth: 0 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
これにより、あなたのメインブランチの各コミットに対してタグがリリースされ、development
に対してalpha
リリースが生成され、最後にCHANGELOGmd
の各コミットの変更ログエントリが作成されます。
このファイルがない場合でも心配しないでください。自動的に作成されます。
これを機能させるためには、GitHubの秘密にPERSONAL_ACCESS_TOKEN
として個人アクセストークンを作成する必要があります。
これはCIが変更ログとバージョンアップをコミットできるようにするために必要です。
トークンを作成するときは、有効期限をnever
に、スコープをrepo
に設定してください。
packagejson
ファイルのversion
キーを設定します。そのためには、ストアでリリースされた最新のバージョンを使用してください。
これは最初の一度だけ必要であり、その後はツールが自動的に最新の状態を保ちます。
これで、この両方のファイルをコミットし、GitHubに最初のタグが表示されるのを見ることができます!
capacitor-standard-version
はその魔法を行うパッケージです。デフォルトで、AndroidとiOSのバージョン番号も更新します。
ビルド用のGitHubアクション
このパスにファイルを作成します: github/workflows/buildyml
次の内容で:
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@v4 - 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
を使用し、GitHubプロジェクト設定でsecret
を設定し、その後秘密としてGitHubアクションに設定します。
Capgoのアップロードを機能させるためには、CapgoのAPIキーを取得し、GitHubリポジトリの秘密にCAPGO_TOKEN
として追加する必要があります。
これで、この両方のファイルをコミットし、Capgoに最初のバージョンが表示されるのを見ることができます!
コミットを追加すると、プロダクションおよび開発チャンネル用に新しいCapacitorビルドが生成されます。
コードが正常に動作していることを確認するために、Ionicビルドステップにテストを追加するべきです。
Capgoダッシュボードに行き、ちょうど表示されたビルドを確認してください。これでCI/CDシステムが整いました。