◉GEMINI LABEN
●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り6日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り6日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…
記事一覧/開発ツール
⟐ 開発ツール/2026-03-11上級

Gemini CLI をシェルと CI に組み込む — ヘッドレス実行とセッション再開の実践

Gemini CLI を対話利用で終わらせず、ヘッドレス実行・JSON出力・セッション再開・承認モード・MCP連携までを実践します。シェルとCIへの組み込み手順に加え、ヘッドレス実行で詰まる箇所の切り分けと、pro/flash/flash-lite を自分の入力で実測した比較まで扱います。

Gemini CLI9ヘッドレス実行MCP6自動化28CI7

✦ プレミアム記事

gemini と打ってエンターを押すと、対話画面が静かに立ち上がります。ここまでは、多くの方がすでに体験されているはずです。

けれど私が本当に助けられたのは、対話ではなく、シェルスクリプトの一行として Gemini CLI を呼び出せると気づいたときでした。朝いちばんに 4 サイト分のビルドログへ目を通す作業を、gemini -p に肩代わりしてもらう。それだけで、確認にかけていた時間が目に見えて縮みました。

対話利用の先にある「ツールとしての Gemini CLI」——ここで扱いたいのはそちらです。ヘッドレス実行、JSON 出力、セッション再開、承認モード、そして MCP 連携。実際にスクリプトへ組み込むときに迷いやすい箇所を、順を追って整理していきます。

まず正確なインストールと認証から

Gemini CLI は Google 公式のオープンソースエージェントで、npm パッケージは @google/gemini-cli です。Node.js は 20 以上、できれば 22 LTS を推奨します。

# グローバルインストール
npm install -g @google/gemini-cli
 
# 永続インストールせず一度だけ試す
npx @google/gemini-cli
 
# バージョン確認
gemini --version

認証には二通りあります。初回に gemini を起動すると Google アカウントでのサインインを求められ、無料枠でそのまま使い始められます。一方、CI やスクリプトなど対話プロンプトを出せない環境では、API キーを環境変数で渡す方式が確実です。

# API キー認証(CI・自動化向け)
export GEMINI_API_KEY="YOUR_API_KEY"

キーは .env に置き、必ず .gitignore へ追加します。ここを疎かにすると、公開リポジトリへ鍵ごと push してしまう事故につながります。

echo 'GEMINI_API_KEY=YOUR_API_KEY' > .env
echo '.env' >> .gitignore

対話モードとヘッドレスモードを使い分ける

Gemini CLI の呼び出し方は、大きく「対話」と「ヘッドレス」に分かれます。この境目を意識するだけで、使いどころがはっきりします。

やりたいことコマンド挙動
じっくり相談するgemini対話 REPL を起動
一発で答えだけ欲しいgemini -p "..."1ターン実行して終了(非対話)
標準入力を渡すcat file | geminiパイプ内容を処理
実行後そのまま続けるgemini -i "..."実行して対話へ移行
結果を機械処理するgemini -p "..." -o jsonJSON で出力

自動化で鍵になるのは -p(--prompt)と -o(--output-format)です。-p は対話 REPL に入らず 1 ターンで結果を標準出力へ返し、-o json を添えると jq などで扱いやすい構造化データになります。

# ログから重大なエラーだけを抜き出す
cat build.log | gemini -p "このログから致命的なエラーを3件まで、原因の推測を添えて日本語で列挙して"
 
# 結果を JSON で受け取り、後続処理へ渡す
gemini -p "README.md を1文で要約して" -o json | jq -r '.response'

モデルは -m(--model)で選べます。エイリアスが用意されており、pro は複雑な推論向け、flash は速度と品質のバランス型、flash-lite は最速の軽量タスク向けです。バッチで大量に回すログ選別のような処理は、flash 系に寄せるとコストと待ち時間が締まります。

# 軽い分類タスクは flash 系に寄せる
cat access.log | gemini -m flash -p "アクセス元を国別に集計して上位5件を出して"
✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦対話モードとヘッドレスモード(gemini -p / -o json)の使い分けと、CIに組み込む際の判断基準
✦セッション再開・GEMINI.md・承認モードで、自動化の安全性と再現性を担保する具体手順
✦そのまま動く pre-push フックと、空入力・429・JSON破損を吸収するヘッドレス呼び出しラッパー
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⟐ 開発ツール2026-09-21
つないだ MCP を初めて外した日 — 常時有効にするツールを選ぶ基準
MCP サーバーを足し続けると、API の上限である 512 個の関数宣言に当たる手前で応答の質が落ちます。Gemini CLI の includeTools と excludeTools を使い、常時有効にするツールを選ぶ基準と外し方をまとめます。
⟐ 開発ツール2026-08-05
テストは緑のまま、本番だけが止まる — 録画フィクスチャがモデル停止を隠す構造と freshness gate
録画済み API レスポンスで回るテストは、モデル停止をすり抜けます。テストが全部緑のまま本番だけ404になる構造を最小構成で再現し、pytest 起動前に cassette を検疫する freshness gate の実装、走査コストの実測、しきい値の決め方をまとめました。
⟐ 開発ツール2026-10-14
クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep して、GEMINI.md には索引だけ置く
アプリのクラッシュ報告を調べるとき、過去の不具合の全文を毎回読ませずに済ませる運用です。ID から 1 行を引く早見表と、GEMINI.md に置く範囲の決め方、そのまま使える grep 関数をまとめました。