チーム向けブルーノ: クラウド同期の代替案と回避策

Brunoにはクラウド同期機能がありません。ここでは、各チームのあらゆる回避策、その実際の限界、そしてApidogの新しいSpec-First Gitモードが、ライブ同期とRBACを追加しながらGitの主戦場でBrunoにどのように対抗するかを説明します。

INEZA Felin-Michel

INEZA Felin-Michel

9 6月 2026

チーム向けブルーノ: クラウド同期の代替案と回避策

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

TL;DR

Brunoには組み込みのクラウド同期機能がありません。チームはGitリポジトリ、共有ネットワークドライブ、または開発コンテナを使ってこの問題を回避しています。それぞれの回避策には実際の限界があります。Apidogは今、両面からそのギャップを埋めます。新しいSpec-First Gitモードでは、OpenAPI仕様がBrunoと同様にリポジトリに存在し、プルリクエストを通じて移動できます。さらに、オプションのクラウド同期機能により、リアルタイムコラボレーション、ロールベースアクセス、中央管理された資格情報、そして組み込みのモックサーバーが追加されます。あなたはもうGitを選ぶかチームワークスペースを選ぶかで悩む必要はありません。

button

はじめに

Brunoのローカル専用設計は、見落としではなく、機能です。メンテナーは意図的に選択しました。データはあなたのマシンに残ります。クラウドがないということは、アカウントもサブスクリプションも、コレクションを人質にとるベンダーもいないということです。

しかし、「ローカル専用」は、2人目が同じコレクションを必要とした瞬間に調整問題を引き起こします。5人の開発者チームはどのようにAPIコレクションを共有するのでしょうか?QAエンジニアはどのようにして最新のリクエストを取得するのでしょうか?新しいメンバーは、Slack経由でファイルをコピーすることなく、どのように環境をセットアップするのでしょうか?

このガイドでは、チームが使用するすべての回避策、それぞれの実際のコスト、そしてその限界について説明します。また、Apidogの新しいSpec-First Gitモードについても取り上げます。これにより、Brunoのリポジトリにファイルを置くという哲学を維持しながら、Gitだけでは得られないリアルタイムコラボレーションを実現できます。まず全体像を把握したい場合は、Gitと連携するAPIツールのまとめが背景を提供します。

Gitアプローチ(意図されたパス)

BrunoはGitを中心に設計されています。コレクションは.bruファイル、環境はJSONファイルであり、すべてプレーンテキストです。意図された共有メカニズムはGitリポジトリです。

仕組み:

  1. APIコレクション用のGitリポジトリを作成します(または既存のリポジトリ内のフォルダを使用します)。
  2. コレクションをGitHub、GitLab、またはBitbucketにプッシュします。
  3. チームメンバーはリポジトリをクローンし、Brunoでフォルダを開きます。
  4. 変更がコミットされてプッシュされ、他のメンバーがプルします。

うまくいく点:

問題点:

これが機能する対象: 一貫したGit規律を持つ開発者のみのチーム。他のすべてで既にGitを使用している2~8人の開発者には有効です。このパターンは、GitによるOpenAPIのバージョン管理のより広範なアプローチに合致します。

共有ネットワークドライブのアプローチ

一部のチームは、Brunoコレクションフォルダを共有ネットワークドライブ(NAS、ネットワークファイルサーバー、共有Dropbox、またはGoogle Driveフォルダ)に配置します。

仕組み: Brunoは任意のフォルダパスからコレクションを開きます。共有ドライブの場所を指定します。

うまくいく点:

問題点:

これが機能する対象: 同時に編集することが少なく、Git以外の共有を必要とする2〜3人の小規模チーム。カジュアルな使用以外には推奨されません。

Gitpod / 開発コンテナのアプローチ

一部のチームはBrunoコレクションをGitpodワークスペースまたは開発コンテナの定義に配置し、全員がコレクションを含む一貫した環境を得られるようにします。

仕組み: コレクションはリポジトリ内にあります。Gitpodまたは開発コンテナがBruno(またはBruno CLI)とコレクションを事前にロードして起動します。

うまくいく点:

問題点:

これが機能する対象: 既にGitpodまたは開発コンテナを使用しており、APIテストを開発環境に組み込みたいチーム。

開発者ごとのコピーアプローチ

これは最も構造化されていないオプションです。各開発者が独自のBrunoコレクションを保持し、共有ドキュメントとの手動同期、またはチームメイトのエクスポートからのコピーを行います。

うまくいく点:

問題点:

これが機能する対象: ソロ開発者以外にはいない。このパターンはすぐに技術的負債を蓄積します。

すべての回避策が共有する限界

Brunoのすべての同期回避策には同じギャップがあり、Gitではそれらを埋めることができません。

リアルタイムコラボレーションがない。 ApidogやPostmanの有料ティアでは、2人が同じコレクションを開くと、お互いの変更が即座に表示されます。BrunoとGitを使用する場合、アリスとボブは常に最後のプルから作業します。アリスがリクエストを追加してプッシュしても、ボブはプルするまで何も見えません。アクティブなAPIセッション中には、これが絶え間ない摩擦となります。

ロールベースアクセスがない。 Gitの権限(リポジトリレベルでの読み取りまたは書き込み)は、APIコレクションのロールにはマッピングされません。ステークホルダーを、リクエストを実行できるが編集できない閲覧者にすることはできません。請負業者を特定のフォルダに制限することはできません。Brunoでのアクセスは、リポジトリごとに全てか無かのどちらかです。

共有環境資格情報がない。 Brunoのシークレット変数はコミットされない、これは正しいセキュリティ動作です。しかし、これはすべてのチームメイトが手動で資格情報を設定することを意味し、トークンがローテーションするたびに、全員にローカルで更新するように伝えるための帯域外プロセスが必要です。安全なクラウド環境を持つツールはこれを一元的に処理します。

コレクションレベルのコメントがない。 チームメイトが見るために特定のリクエストにメモを残すことはできません。GitのPRコメントは近いですが、それらは差分に付随し、ライブコレクションには付随しません。

これら4つのギャップが、チームが回避策から脱却する本当の理由です。次のセクションでは、ApidogがGitを諦めることなくこれらのギャップをどのように埋めるかについて説明します。

ApidogのSpec-First Gitモード:回避策なしのGitワークフロー

通常の枠組みでは、「BrunoとGit」が「クラウドツール」と対立しています。ApidogのSpec-First Gitモードはその選択肢を解消します。OpenAPI仕様をあなた自身のGitHub、GitLab、またはセルフホスト型リポジトリに唯一の真実のソースとして配置し、その同じリポジトリの上にチーム機能を追加します。

BrunoとGitのセットアップと比較して、何が変わるかを見てみましょう。

仕様が真実のソースであり、リポジトリに存在します。 ApidogプロジェクトをGitリポジトリに接続すると、API定義がファイルとして同期されます。機能ごとにブランチを作成し、プルリクエストを開き、契約の差分を1行ずつレビューしてマージします。これは、Brunoが提供する正確なレビューフローであり、バラバラの.bruリクエストファイルではなく、完全なOpenAPIドキュメントに適用されます。その背後にあるデザインファーストの考え方については、「spec-first API開発とは何か?」を参照してください。

設計、テスト、モック、ドキュメントが1つの定義から派生します。 ブランチで仕様が変更されると、モックサーバー、例示応答、テストケース、公開されたリファレンスドキュメントがすべてそれに合わせて変更され、全体が1つのレビュー可能な差分としてコミットされます。Brunoではリクエストファイルが得られますが、ドキュメントやモックは他の誰かの問題です。これがspec-as-codeアプローチの中核であり、かつて4つの別々のツールが行っていた作業を1つのOpenAPIファイルが行う場所です。

Gitを維持し、リアルタイムコラボレーションを追加します。 これはBrunoの回避策では対応できない部分です。リポジトリは記録システムとして残りますが、Apidogアプリで作業するチームメイトは、次のプルを待つことなく、お互いの編集をリアルタイムで確認できます。Gitは履歴とレビューを提供し、共有ワークスペースはライブセッションを提供します。それらのどちらかを選択するのをやめることができます。

ロールベースアクセスがリポジトリの上に存在します。 ビューアー、エディター、管理者といったロールにより、ステークホルダーはリクエストを実行できるが編集はできない、または請負業者を特定のプロジェクトに限定するといったことが可能になります。これはリポジトリレベルのGit権限では表現できません。

資格情報が一元的に管理されます。 クラウド環境は共有された(そして安全に保存された)変数を保持するため、トークンのローテーションは一度更新するだけで済み、すべての開発者にローカルの.secret.jsonを編集するよう促す必要がなくなります。

モックサーバーが付属しています。 Brunoにはモックサーバーがないため、チームはBrunoのモックサーバー代替品を探します。Apidogではモックが仕様から直接生成されるため、フロントエンドの作業は初日から現実的なレスポンスに対して開始できます。

CIで動作します。 ApidogにはCLIランナーが付属しており、同期された仕様に関連付けられたテストケースは、bru runと同様に、すべてのプッシュで同じパイプラインで実行されます。

短く正直な比較:

機能 Bruno + Git Apidog Spec-First Gitモード
自身のリポジトリ内のファイル はい (.bru) はい (OpenAPI仕様)
ブランチ + プルリクエストレビュー はい はい
CIランナー はい (bru run) はい (Apidog CLI)
セルフホスト / GitLabサポート はい はい
リアルタイム複数ユーザー編集 いいえ はい
ロールベースアクセス(閲覧者/編集者) いいえ はい
中央共有資格情報 いいえ はい
仕様からのモックサーバー いいえ はい
1ファイルから派生するドキュメント + テスト いいえ はい

Spec-First Gitモードはベータ版ですので、チーム全体を移行する前に、トライアルで自身のGitHubまたはGitLabのセットアップと照らし合わせて詳細を確認してください。接続自体のより詳細な説明については、ApidogのGit統合と同期、およびSpec-Firstモードガイドを参照してください。これを2つのツールからなる設計とテストのスタックと比較検討している場合、Stoplight + Postman vs Apidogでも同様の評価が行われています。

Brunoを使い続けるべき時と、切り替えるべき時

BrunoとGitの組み合わせは機能します。適切なチームにとってはうまく機能します。問題は、回避策の累積コストがBrunoのシンプルさの価値を上回る時期です。

チーム全体が開発者であり、全員がGitに精通しており、リアルタイム同期が必要なく、すべてか無かのリポジトリ権限モデルで問題ない場合は、Brunoを使い続けてください。

以下の場合はApidogのSpec-First Gitモードに切り替えてください:

仕様は引き続きリポジトリに存在するため、これはバージョン管理からの片道切符ではありません。Brunoが教えてくれたGitワークフローを維持し、その上にチーム層を追加します。

実際に機能するBruno + Gitワークフローのセットアップ

Brunoを使い続けるのであれば、摩擦を少なくするためのレイアウトを次に示します。

リポジトリ構造:

api-collections/
  .gitignore              # *.secret.json, .envを除外
  README.md               # オンボーディング手順
  environments/
    local.json
    staging.json
    production.json       # シークレットなし、変数名のみ
  users-api/
    get-user.bru
    create-user.bru
  orders-api/
    create-order.bru
    list-orders.bru
  bruno.json

資格情報管理: ローカルのシークレットにはenvironments/production.secret.json(Gitignore対象)を使用します。必要な変数をenvironments/production.jsonに空の値でテンプレートとして記述します。実際の値はチームのパスワードマネージャーまたはシークレット保管庫に保存し、READMEにリンクを記載します。

新しい開発者のオンボーディング:

  1. リポジトリをクローンする
  2. Brunoでコレクションフォルダを開く
  3. production.jsonproduction.secret.jsonにコピーする
  4. (READMEにリンクされた)保管庫から資格情報を入力する
  5. 使用準備完了

CI/CD: 実行時に環境変数を注入し、リポジトリにシークレットファイルが存在しないようにします。

Brunoの非クラウドという立場は原則に基づき、実際にメリットがあり、同期の回避策は適切なチームにとって許容できるものです。その限界を知ることで、いつそれらに頼るべきか、そしていつチームコラボレーションのために構築されたツールに手を伸ばすべきかがわかります。Apidogが仕様をリポジトリ内に保持するようになったことで、その選択はもはやGitを置き去りにすることを意味しません。Apidogをダウンロードし、既存のリポジトリにポイントして、自身のAPIでその違いを確認してください。

button

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる