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

Gitlabを使用した自動ビルドとリリース

Gitlabを無料で使用して、メインブランチにプッシュするたびにアプリをデプロイするCI/CDパイプラインを作成してください。

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

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

コンテンツマーケター

Gitlabを使用した自動ビルドとリリース

このチュートリアルはGitLab CIに焦点を当てていますが、他のCI/CDプラットフォームに適応するには少しの調整が必要です。

序文

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

コミット規約

最初はコミット規約を遵守する必要があります __CAPGO_KEEP_0__この規約を遵守することで、ツールがバージョン番号をアップグレードする方法を理解できるようになります。5分で学べます。

__CAPGO_KEEP_0__

タグ用のGitLab CI

次に、GitLabを自動でビルドしタグを作成するためのファイルを作成する必要があります。

このファイルを作成するパス: .github/workflows/bump_version.yml

__CAPGO_KEEP_0__

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

この内容でファイルを作成します。 CHANGELOG.md.

この設定により、メインブランチのコミットごとにタグが自動で作成され、メインブランチのコミットごとに changelog のエントリが追加されます。

このファイルが存在しない場合は、自動で作成されます。 この設定を有効にするには、以下のファイルを作成する必要があります。 とGitLab CI/CD変数に追加してください。 PERSONAL_ACCESS_TOKEN.

This is necessary to let the CI commit the changelog.

CI用トークンを作成する際、期限を選択してください。 never スコープを選択してください。 repo.

最後に、ツールがバージョンを保存している場所を理解するために、次のファイルを作成する必要があります。 .cz.toml リポジトリのrootにファイルを作成してください。

以下を追加してください。

[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$major.$minor.$patch$prerelease"
version = "0.11.5"
version_files = [
    "package.json:version",
    ".cz.toml"
]

このファイルのバージョンを、同じバージョンで保存されている package.json ファイルのバージョンと同じに設定してください。

This is only necessary the first time, then the tools will keep it up to date.

ファイルを両方コミットし、最初のタグがGitHubに表示されることを確認してください。

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 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_KEEP_0__の__CAPGO_KEEP_1__に必要な__CAPGO_KEEP_0__キーを取得し、__CAPGO_KEEP_0__リポジトリのシークレットに追加する必要があります。

To make this work, you need to get your API key for Capgo, add it in the secret of your GitHub repository __CAPGO_KEEP_0__のビルドステップでテストを追加して、__CAPGO_KEEP_0__が正常に動作していることを確認する必要があります。 CAPGO_TOKEN.

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

__CAPGO_KEEP_0__の__CAPGO_KEEP_1__に必要な__CAPGO_KEEP_0__キーを取得し、__CAPGO_KEEP_0__リポジトリのシークレットに追加する必要があります。

これら2つのファイルをコミットし、codeで最初のタグが表示されることを確認できます。

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

あなたのユーザー全員が、いつでも更新を受け取るようにしたい場合は、 public.

自動ビルドとリリースの設定から始めてください。

あなたが 自動ビルドとリリースの設定から始めてください。 CI/CDの自動化を計画する場合、 Capgo CI/CD Capgo CI/CDの製品ワークフロー Capgo Native Builds Capgo Native Buildsの製品ワークフロー Capgo Integrations Capgo Integrationsの製品ワークフロー CI/CDの統合 CI/CD統合における実装詳細について GitHub アクション統合 for the implementation detail in GitHub Actions Integration.

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

ウェブ層のバグが生じた場合、Capgo を通じて修正を配信し、数日間待つ必要のないアプリストアの承認を待つ必要がなくなる。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通る。

スタートする

ブログの最新記事

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