article illustration GitHub Actionsを使用して開発と本番のコンパイルを管理します。
CI/CD
Last update: June 29, 2023

GitHub Actionsを使用して開発と本番のコンパイルを管理します。

Capgoを使用して特定のチャネルで開発ビルドをリリースし、チームがAppleやGoogleの承認を待つことなくIonic Capacitorアプリをテストできるようにします。

このチュートリアルは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システムが整いました。

最新のニュース

Capgoは、真にプロフェッショナルなモバイルアプリを作成するために必要な最高のインサイトを提供します。