Fish スタートガイド
🌐 翻訳と貢献: このドキュメントをあなたの言語で翻訳または改善したいですか? 翻訳ガイドライン をご覧ください。
このガイドでは、高速でキャッシュ優先のビルドオーケストレーションシステムである Fish の基本操作と利用開始手順を解説します。
インストール
ワンラインインストール(推奨)
Linux & macOS:
bash
curl -fsSL https://raw.githubusercontent.com/requla11/fish/main/install.sh | bashWindows (PowerShell):
powershell
irm https://raw.githubusercontent.com/requla11/fish/main/install.ps1 | iexソースコードからのビルド
bash
# リポジトリのクローン
git clone https://github.com/requla11/fish.git
cd fish
# ビルドとインストール
cargo install --path crates/fish-cliCargo からのインストール
bash
cargo install fish-cli --git https://github.com/requla11/fishクイックスタート
Rust プロジェクトのビルド
bash
cd your-rust-project
fish build多言語モノレポのビルド
bash
# サンプルモノレポをクローン
git clone https://github.com/requla11/fish.git
cd fish/examples/polyglot-demo
# すべてのサービスをビルド
fish build
# 依存グラフを表示
fish graph
# テストを実行
fish test基本コマンド
ビルドコマンド
bash
# ワークスペース全体をビルド
fish build
# 特定のパッケージをビルド
fish build -p my-package
# 8スレッド並行でビルド
fish build -j 8
# キャッシュを無効化してビルド
fish build --no-cache
# サンドボックス環境でビルド
fish build --sandbox
# 再ビルド理由の詳細な説明を出力
fish build --explain
# プロファイルに基づく最適化 (PGO) ワークフロー
fish build --pgo-generate
# ... ベンチマークやワークロードを実行 ...
fish build --pgo-useグラフとクエリコマンド (Graph & Query)
bash
# 推移的依存関係のクエリ (Bazelスタイル)
fish query "deps(//fish-cli)"
# 逆依存関係のクエリ
fish query "rdeps(//fish-graph)"
# 2つのモジュール間の全パスを検索
fish query "allpaths(//fish-cli, //fish-core)"
# 正規表現で依存関係をフィルタリング
fish query "filter('backend', deps(//fish-cli))"
# 視覚的なグラフ描画
fish graph --format tree
fish graph --format dotデーモンコマンド (Daemon)
bash
# サブミリ秒単位のウォームビルドを実現するバックグラウンドデーモンを起動
fish daemon start
# デーモンの状態を確認
fish daemon status
# デーモンを停止
fish daemon stopテストコマンド
bash
# すべてのテストを実行
fish test
# 特定のパッケージをテスト
fish test -p my-package
# キャッシュ無効でテストを実行
fish test --no-cacheキャッシュ管理コマンド
bash
# キャッシュ統計を表示
fish cache stats
# 古いキャッシュをクリーンアップ
fish cache prune
# リモートキャッシュサーバーを起動
fish cache-server --listen 0.0.0.0:8080分散ビルドコマンド
bash
# ワーカーを起動
fish worker --listen 0.0.0.0:9000
# 分散ワーカークラスタを使用してビルド
fish build --workers worker1:9000,worker2:9000CI/CD 設定生成コマンド
bash
# GitHub Actions ワークフローの生成
fish ci init --platform github
# GitLab CI パイプラインの生成
fish ci init --platform gitlab
# CircleCI 設定の生成
fish ci init --platform circleci
# Bitbucket Pipelines 設定の生成
fish ci init --platform bitbucket
# サポートされているすべての CI 設定を生成
fish ci init --platform allプラグインコマンド
bash
# 利用可能なプラグイン一覧
fish plugin list
# プラグインコマンドを実行
fish plugin execute my-plugin build
# プラグインをインストール
fish plugin install ./my-plugin設定
ワークスペース設定 (fish.toml)
Fish はマニフェストファイルに基づいてプロジェクトタイプを自動検出します。カスタム実行、キャッシュ、パイプラインを設定するにはプロジェクトのルートに fish.toml を配置します:
toml
[build]
backend = "auto"
jobs = 8
no_cache = false
sandbox = false
semantic = true
critical_path = true
ram_limit = 85
[cache]
dir = "~/.fish/cache"
reflink = true
[remote]
cache_url = "http://127.0.0.1:8080"
token = "secret-cache-token"
[daemon]
port = 9527
[pipelines.build]
depends_on = ["^build"]
inputs = ["src/**/*", "Cargo.toml"]
outputs = ["target/release/*"]
[pipelines.test]
depends_on = ["build"]
inputs = ["tests/**/*", "src/**/*"]完全な設定オプションは 設定ガイド を参照してください。
インタラクティブテレメトリ & Web ダッシュボード
Fish には、5言語(英語、ベトナム語、簡体字中国語、繁体字中国語、日本語)に対応したリアルタイムのインタラクティブ DAG ビジュアライザとテレメトリダッシュボードが組み込まれています:
bash
# ポート3000でWebダッシュボードを起動し、ブラウザで自動表示
fish ui --port 3000 --open
# JSONグラフデータの取得
curl http://localhost:3000/api/graph
# ハードウェアと CAS 統計の確認
curl http://localhost:3000/api/statsトラブルシューティング
ビルドの失敗
ビルドが失敗した場合:
- エラーメッセージを確認するか
fish build --explainで再ビルド理由を診断してください。 - デバッグログ付きで実行:
RUST_LOG=debug fish build - ツールチェーンの状態を確認:
fish doctor - キャッシュをクリア:
fish cache prune
キャッシュの問題
キャッシュが機能しない場合:
- キャッシュ統計を確認:
fish cache stats - キャッシュディレクトリの書き込み権限を確認:
~/.fish/cache - キャッシュをクリアして再ビルド:
fish cache prune && fish build
ワーカー接続エラー
分散ワーカーに接続できない場合:
- ネットワーク接続を確認
- ワーカーが稼働しているか確認:
fish worker --listen 0.0.0.0:9000 - ファイアウォール設定と認証トークンを確認
- ワーカーのログ出力を確認
次のステップ
- アーキテクチャガイド を読む
- 開発ガイド を確認
- CLI コマンドリファレンス を参照
- 言語別バックエンドドキュメント を確認