mcpField
R
railway-deployment

railway-deployment

github.com/davila7クラウド・DevOps33.0k393 回インストール今日更新
リポジトリ

railway-deployment について

既存のRailwayデプロイを管理するスキルです。デプロイ一覧、ログ確認、再デプロイ、再起動、デプロイ停止に対応します。Railway CLIで実行時やビルドの問題を調べる用途向けで、停止してもサービス自体は削除されません。

主な機能

  1. 01デプロイとステータスの一覧表示
  2. 02デプロイ・ビルドログの確認と絞り込み
  3. 03サービスの再デプロイと再起動
  4. 04サービスを残したままデプロイを停止
  5. 05サービス、環境、時刻によるフィルター

活用シーン

  1. 01デプロイ履歴と現在の状態の確認
  2. 02ログからビルド失敗や実行時エラーを特定
  3. 03設定変更後の再デプロイや再起動
  4. 04サービスの現在のデプロイを停止

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davila7/claude-code-templates --skill railway-deployment

インストール後、Claude Code で/railway-deploymentを入力して読み込まれたか確認します。

詳細

Railway デプロイメント管理

既存の Railway デプロイメントを管理します。一覧表示、ログの確認、再デプロイ、削除を行えます。

重要: 「デプロイメントの削除」(railway down) は現在のデプロイメントを停止しますが、サービスは残ります。サービスを完全に削除するには、railway-environment スキルで isDeleted: true を指定して使用してください。

使用するタイミング

  • ユーザーが「remove deploy」「take down service」「stop deployment」「railway down」と言ったとき
  • ユーザーが「redeploy」「restart the service」「restart deployment」を望むとき
  • ユーザーが「list deployments」「show deployment history」「deployment status」を尋ねたとき
  • ユーザーが「see logs」「show logs」「check errors」「debug issues」を尋ねたとき

デプロイメントの一覧表示

railway deployment list --limit 10 --json

デプロイメント ID、ステータス、メタデータが表示されます。ログやデバッグに使う特定のデプロイメント ID を探すときに使用します。

サービスの指定
railway deployment list --service backend --limit 10 --json

ログの確認

デプロイログ
railway logs --lines 100 --json

非対話モードでは、ストリーミングは自動的に無効になり、CLI はログを取得してから終了します。

ビルドログ
railway logs --build --lines 100 --json

ビルド失敗のデバッグやビルド出力の確認に使用します。

失敗した、または進行中のデプロイメントのログ

デフォルトでは railway logs は最後に成功したデプロイメントを表示します。現在のデプロイメントを表示するには --latest を使用します:

railway logs --latest --lines 100 --json
ログのフィルタリング
# Errors only
railway logs --lines 50 --filter "@level:error" --json

# Text search
railway logs --lines 50 --filter "connection refused" --json

# Combined
railway logs --lines 50 --filter "@level:error AND timeout" --json
時間によるフィルタリング
# Logs from last hour
railway logs --since 1h --lines 100 --json

# Logs between 30 and 10 minutes ago
railway logs --since 30m --until 10m --lines 100 --json

# Logs from specific timestamp
railway logs --since 2024-01-15T10:00:00Z --lines 100 --json

形式: 相対指定 (30s、5m、2h、1d、1w) または ISO 8601 タイムスタンプ。

特定のデプロイメントのログ

デプロイログ:

railway logs <deployment-id> --lines 100 --json

ビルドログ:

railway logs --build <deployment-id> --lines 100 --json

デプロイメント ID は railway deployment list で取得します。

注意: デプロイメント ID は位置引数であり、--deployment <id> ではありません。--deployment フラグは、デプロイログを選択するブールフラグです(ビルドログは --build を使用します)。

再デプロイ

最新のデプロイメントを再デプロイします:

railway redeploy --service <name> -y

-y フラグは確認をスキップします。次のような場合に便利です:

  • railway-environment スキルで設定を変更した場合
  • 新しいコードなしで再起動する必要がある場合
  • 前回のデプロイは成功したが、サービスの動作がおかしい場合
コンテナのみ再起動

再ビルドせずに再起動します(外部リソースの変更が反映されます):

railway restart --service <name> -y

外部リソース(S3 のファイルや ConfigMap など)は変更されたがコードは変更されていない場合に使用します。

デプロイメントの削除

現在のデプロイメントを停止します。サービスは残りますが、実行中のデプロイメントはなくなります。

# Remove deployment for linked service
railway down -y

# Remove deployment for specific service
railway down --service web -y
railway down --service api -y

ユーザーが「remove deploy」「take down」「stop the deployment」と言うときに意図しているのはこの操作です。

注意: これによってサービスは削除されません。サービスを完全に削除するには、railway-environment スキルで isDeleted: true を指定して使用してください。

CLI オプション

deployment list
フラグ説明
-s, --service <NAME>サービス名または ID
-e, --environment <NAME>環境名または ID
--limit <N>最大デプロイメント数(デフォルト 20、最大 1000)
--jsonJSON 出力
logs
フラグ説明
-s, --service <NAME>サービス名または ID
-e, --environment <NAME>環境名または ID
-d, --deploymentデプロイログを表示(デフォルト、ブールフラグ)
-b, --buildビルドログを表示(ブールフラグ)
-n, --lines <N>行数(必須)
-f, --filter <QUERY>クエリ構文によるフィルタリング
--since <TIME>開始時刻(相対指定または ISO 8601)
--until <TIME>終了時刻(相対指定または ISO 8601)
--latest最新のデプロイメント(失敗したものを含む)
--jsonJSON 出力
[DEPLOYMENT_ID]特定のデプロイメント(省略可)
redeploy
フラグ説明
-s, --service <NAME>サービス名または ID
-y, --yes確認をスキップ
restart
フラグ説明
-s, --service <NAME>サービス名または ID
-y, --yes確認をスキップ
down
フラグ説明
-s, --service <NAME>サービス名または ID
-e, --environment <NAME>環境名または ID
-y, --yes確認をスキップ

ログの表示

ログを表示する際は、次の点に従ってください。

  • タイムスタンプを含める
  • エラーと警告を強調する
  • ビルド失敗の場合: エラーを表示し、修正案を提示する
  • ランタイムクラッシュの場合: スタックトレースの前後の文脈を表示する
  • パターンを要約する(例: 「直近100件のログ中に15件のタイムアウトエラー」)

組み合わせ可能性

  • 新しいコードをプッシュする: railway-deploy スキルを使用
  • サービスの状態を確認する: railway-status スキルを使用
  • 設定の問題を修正する: railway-environment スキルを使用
  • 新しいサービスを作成する: railway-new スキルを使用

エラー処理

サービスがリンクされていない場合
No service linked. Run `railway service` to select one.
デプロイが見つからない場合
No deployments found. Deploy first with `railway up`.
ログが見つからない場合

デプロイが古すぎる(ログの保持期間の制限)か、サービスがまだ出力を生成していない可能性があります。

コメント