deployment について
deploymentは、既存のRailwayデプロイを管理するコマンドラインスキルです。履歴やログの確認・絞り込み、再デプロイ、再起動に対応し、サービスを残したままデプロイを停止できます。
主な機能
- 01デプロイと状態の一覧表示
- 02デプロイ・ビルドログの確認と絞り込み
- 03サービスの再デプロイと再起動
- 04サービスを削除せずデプロイを停止
活用シーン
- 01デプロイを探して状態を確認
- 02ビルド失敗や実行時エラーの調査
- 03設定変更後のサービス再起動
- 04サービスを残して稼働中のデプロイを停止
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ railwayapp/ railway-skills --skill deploymentインストール後、Claude Code で/deploymentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/environment-config.mdmonorepo.mdrailpack.mdvariables.md詳細
デプロイ管理
既存の Railway デプロイを管理します。デプロイの一覧表示、ログの確認、再デプロイ、削除ができます。
重要:「デプロイの削除」(railway down)は現在のデプロイを停止しますが、サービスは保持されます。サービスを完全に削除するには、environment スキルで isDeleted: true を使用してください。
使用する場面
- ユーザーが「デプロイを削除」「サービスを停止」「デプロイを停止」「railway down」と言ったとき
- ユーザーが「再デプロイ」「サービスを再起動」「デプロイを再起動」したいとき
- ユーザーが「デプロイを一覧表示」「デプロイ履歴を表示」「デプロイのステータス」と尋ねたとき
- ユーザーが「ログを確認」「ログを表示」「エラーを確認」「問題をデバッグ」と尋ねたとき
デプロイの一覧表示
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 フラグを指定すると、確認が省略されます。次のような場合に便利です。
environmentスキルで設定を変更したとき- 新しいコードを追加せずに再起動する必要があるとき
- 以前のデプロイは成功したものの、サービスが正常に動作しないとき
コンテナのみを再起動する
再ビルドせずに再起動します(外部リソースの変更を反映します)。
railway restart --service <name> -y
コードは変更せずに、外部リソース(S3 ファイル、設定マップ)を変更した場合に使用します。
デプロイの削除
現在のデプロイを停止します。サービスは残りますが、実行中のデプロイはなくなります。
# Remove deployment for linked service
railway down -y
# Remove deployment for specific service
railway down --service web -y
railway down --service api -y
ユーザーが「デプロイを削除」「停止」「デプロイを停止」と言う場合は、これを指しています。
**注:**サービスは削除されません。サービスを完全に削除するには、environment スキルで isDeleted: true を使用してください。
CLI オプション
deployment list
| フラグ | 説明 |
|---|---|
-s, --service <NAME> | サービス名または ID |
-e, --environment <NAME> | 環境名または ID |
--limit <N> | デプロイの最大数(デフォルトは 20、最大は 1000) |
--json | JSON 出力 |
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 | 最新のデプロイ(失敗した場合も含む) |
--json | JSON 出力 |
[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 件あります」)
構成可能性
- 新しいコードをプッシュ:
deployスキルを使用 - サービスのステータスを確認:
statusスキルを使用 - 設定の問題を修正:
environmentスキルを使用 - 新しいサービスを作成:
newスキルを使用
エラー処理
サービスがリンクされていません
No service linked. Run `railway service` to select one.
デプロイが見つかりません
No deployments found. Deploy first with `railway up`.
ログが見つかりません
デプロイが古すぎる可能性があります(ログの保持期間の制限)。または、サービスが出力を生成していません。