Skip to main content

一般的なワークフローレシピ

概要

プラットフォームタイプ(iOS、Android、Flutterなど)に固有ではないが、CI/CDプロセスおよび一般的なBitriseの使用に役立つワークフローレシピ。

ワークフローレシピは、一般的なワークフロータスク用の既製のソリューションを提供します。ワークフロー全体の例とともに、さまざまなレシピです。

ここでは、プラットフォームタイプ(iOS、Android、Flutterなど)に固有ではないが、CI / CDプロセスおよび一般的なBitriseの使用に役立つワークフローレシピを見つけることができます。

(iOS/Android) ビルド ステータスを Slack に送信する

説明

ビルドが完了したら、ビルド ステータスを含むメッセージを Slack に送信します。

前提条件

Slack Webhook をセットアップして、 環境変数 (例えば、 $SLACK_WEBHOOK)。見る Slack統合の構成 詳細については。

指示

追加Slack メッセージを送信するステップ。入力変数を設定します。

  • Slack Webhook URL: 例えば、 $SLACK_WEBHOOK.

  • 対象の Slack チャネル、グループ、またはユーザー名: 例えば、 #ビルド通知.

ステップのドキュメントまたはワークフロー エディターで他のオプションを確認してください。

bitrise.yml

- slack@3:
    inputs:
    - channel: "#build-notifications"
    - webhook_url: $SLACK_WEBHOOK

Git リポジトリのクローン

説明

Git リポジトリのクローンを作成します。

指示

  1. 追加 SSH キー (RSA 秘密キー) をアクティブ化 ステップ。これにより、ビルド VM 上の Git クライアントがプライベート リポジトリにアクセスできるようになります。

  2. 追加 Git クローン リポジトリ ステップ。

ステップのドキュメントまたはワークフロー エディターで他のオプションを確認してください。

bitrise.yml

- activate-ssh-key@4:
    run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
- git-clone@6: {}

Gitflow リリース ブランチのワークフローの例

説明

特定のバージョンの Gitflow リリース ブランチを作成するワークフローの例。バージョンは、 環境変数 ワークフロー用。

前提条件

Bitriseが持っていることを確認してください 書きます リポジトリへのアクセス 手動で SSH キーを追加する書きます GitHub の許可。

bitrise.yml

# Run the workflow with $VERSION env set up to, for examaple, '2.4.3'
create-release-branch:
  steps:
  - activate-ssh-key@4:
      run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
  - git-clone@6: {}
  - script@1:
      inputs:
      - content: |-
          #!/usr/bin/env bash
          # fail if any commands fails
          set -e
          # debug log
          set -x

          git checkout -b release-$VERSION
          git push origin release-$VERSION

(iOS/Android) QR コードを Slack に送信する

説明

bitrise.io にアップロードした iOS または Android ビルドの QR コードを Slack に送信します。

前提条件

  • iOS または Android アプリをアーカイブしました。

  • Slack Webhook をセットアップして、 環境変数 (例えば、 $SLACK_WEBHOOK)。見る Slack統合の構成 詳細については。

指示

  1. 追加 Bitrise.io へのデプロイ - アプリ、ログ、アーティファクト ステップ。

  2. 追加 インストールページのQRコードを作成 ステップ。

  3. 追加 Slack メッセージを送信する ステップ。入力変数を設定します。

    • Slack Webhook URL: 例えば、 $SLACK_WEBHOOK.

    • 対象の Slack チャネル、グループ、またはユーザー名: 例えば、 #ビルド通知.

    • サムネイルとして表示される画像ファイルへの URL: $BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL.

bitrise.yml

- deploy-to-bitrise-io@2: {}
- create-install-page-qr-code@1: {}
- slack@3:
    inputs:
    - channel: "#build-notifications"
    - thumb_url: $BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL
    - webhook_url: $SLACK_WEBHOOK

親ワークフローからビルドを開始する

説明

親ワークフローから指定されたワークフローと並行して 1 つ以上のビルドを開始します。ステップを追加して、完了を待つことができます。

さまざまなアプリのビルドを開始する

この方法を使用すると、同じアプリのビルドのみを開始できます。別のアプリの別のビルドを開始したい場合は、Bitrise ワークフローのトリガーステップ。

前提条件

  • 有効な Bitrise API キーがあることを確認してください シークレット ($BITRISE_API_KEY)。見る パーソナルアクセストークン 詳細については。

  • 並行して実行する 1 つまたは複数のワークフロー (たとえば、 workflow-1workflow-2)。

指示

  1. を追加 Bitrise スタート ビルド ステップ。次の入力変数を設定します。

    • ワークフロー: 開始するワークフロー。ワークフローは 1 行に 1 つだけ挿入してください。

    • Bitrise アクセストークン: $BITRISE_API_KEY

  2. (オプション) トリガーされたワークフローが親ワークフローで実行されている間に、並行して実行する任意のステップを追加します。

  3. (オプション) Bitrise ビルド待ち ステップ。をセットする Bitrise アクセストークン 入力変数: $BITRISE_API_KEY

bitrise.yml

parent-workflow:
  steps:
  - build-router-start@0:
      inputs:
      - workflows: |-
          workflow-1
          workflow-2
      - access_token: "$BITRISE_API_KEY"
  - script@1:
      inputs:
      - content: echo "Doing something else..."
  - build-router-wait@0:
      inputs:
      - access_token: "$BITRISE_API_KEY"

プル リクエスト ビルドのキャッシュ効率の最適化

説明

Bitrise キャッシングはブランチベースです。特定のブランチでキャッシュを最新の状態に保つことで、キャッシュの効率を最適化できます。

ブランチにまだキャッシュ エントリがない場合は、リポジトリのデフォルト ブランチがフォールバックとして使用され、キャッシュ エントリがプルされます。プル リクエストがメイン ブランチを対象とする場合、このフォールバック メカニズムを使用してデフォルト ブランチのキャッシュがプルされます (プル リクエスト ブランチにはまだキャッシュ エントリがないため)。これは、プル リクエストの送信先がデフォルト ブランチであり、デフォルト ブランチのキャッシュが最新である場合でも、キャッシングが効率的であることを意味します。

指示

  1. デフォルト ブランチで頻繁に実行されるすべてのワークフローに、 Bitrise.io キャッシュ:プッシュ ステップ。これにより、成功したビルドのコンテンツでキャッシュが最新の状態に保たれます。次の 2 つの方法のいずれかをお勧めします。

    • デフォルト ブランチでのプッシュ イベントによってトリガーされる、デフォルト ブランチへのすべてのコミット (マージなど) の後にワークフローを実行します。

    • スケジュールされたナイトリー ビルドとしてワークフローを毎日実行します。これにより、デフォルト ブランチの最新の状態に基づいてコンテンツがプッシュされ、キャッシュがウォームアップされます。

  2. (オプション) キャッシュを圧縮 への入力変数 真実.これは、キャッシュ フォルダーが大きく、ビルド時間が遅い場合に役立ちます。

  3. プル リクエストを実行するワークフローに、 Bitrise.io キャッシュ:プル ステップ。

    これにより、デフォルト ブランチで成功したビルドからキャッシュがプルされます。セキュリティと効率の理由から、プル リクエスト ビルドのキャッシュにコンテンツをプッシュすることはお勧めしません。ワークフローに Bitrise.io キャッシュ:プッシュ ステップ、プル リクエスト ビルドではデフォルトでスキップされます。

bitrise.yml

デフォルト ブランチで実行されるワークフロー:

# Add steps that produce the cached content (e.g. dependecies, builds)

- cache-push@2: {}

プル リクエストのワークフロー:

- cache-pull@2: {}

# Add steps that can utilise the restored cache content

GitHub プル リクエスト: ビルドの QR コードを送信する

説明

bitrise.io にアップロードされたビルドの QR コードを添えて、GitHub プル リクエストにコメントを送信します。

前提条件

  • iOS または Android アプリをアーカイブしました。

  • GitHub の個人用アクセス トークンを持っています。 repo スコープであり、それを ひみつ ($GITHUB_ACCESS_TOKEN) を Bitrise アプリに追加します。

指示

  1. 追加Bitrise.io へのデプロイ - アプリ、ログ、アーティファクトステップ。

  2. 追加インストールページのQRコードを作成ステップ。

  3. 追加GitHub プル リクエストへのコメント次の入力変数をステップ実行して設定します。

    • GitHub パーソナル アクセス トークン: 以前に作成した Secret に設定し、$GITHUB_ACCESS_TOKEN.

    • : 以下を追加します。

      ![QR code]($BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL)
      
      $BITRISE_PUBLIC_INSTALL_PAGE_URL

bitrise.yml

- deploy-to-bitrise-io@2: {}
- create-install-page-qr-code@1: {}
- comment-on-github-pull-request@0:
    inputs:
    - body: |-
        ![QR code]($BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL)

        $BITRISE_PUBLIC_INSTALL_PAGE_URL
    - personal_access_token: "$GITHUB_ACCESS_TOKEN"