Skip to content

feat: Web ホスティング向けデプロイ・アンデプロイ用の Composite Actions と Reusable Workflows を追加#38

Merged
kryota-dev merged 10 commits intomainfrom
feat/server-deploy-delete-actions
Mar 2, 2026
Merged

feat: Web ホスティング向けデプロイ・アンデプロイ用の Composite Actions と Reusable Workflows を追加#38
kryota-dev merged 10 commits intomainfrom
feat/server-deploy-delete-actions

Conversation

@kryota-dev
Copy link
Copy Markdown
Owner

@kryota-dev kryota-dev commented Mar 2, 2026

概要

Web ホスティングサーバー向けのデプロイ・アンデプロイ機能を一式追加。FTP(lftp)と rsync over SSH の2方式に対応した Composite Actions と、それらを統合する Reusable Workflows を提供する。

変更内容

新規 Composite Actions(5つ)

  • compute-web-hosting-deploy-path: github コンテキストからブランチ名を自動導出し、デプロイパスと本番判定を計算する共通 Action。チェックアウト不要で利用可能
  • deploy-web-hosting-ftp: lftp を使用した FTP サーバーへのデプロイ。dry-run モード・本番モード(.htaccess / _feature/ 除外)対応
  • deploy-web-hosting-rsync: rsync over SSH によるデプロイ。SSH 鍵の自動セットアップ・クリーンアップ付き
  • undeploy-web-hosting-ftp: lftp を使用した FTP サーバー上のディレクトリ削除
  • undeploy-web-hosting-rsync: rsync(空ディレクトリ同期方式)による リモートディレクトリ削除。親ディレクトリの空判定・削除も自動実行

新規 Reusable Workflows(2つ)

  • deploy-web-hosting.yml: ビルドアーティファクトのダウンロード → デプロイパス計算 → FTP/rsync デプロイ → PR コメント通知 → Slack 通知を統合したデプロイワークフロー
  • undeploy-web-hosting.yml: デプロイパス計算 → FTP/rsync 削除 → PR コメント通知 → 過去コメント非表示を統合したアンデプロイワークフロー

ドキュメント(7つ)

各 Action・Workflow に対応する Markdown ドキュメントを docs/ に追加。使用例・Inputs/Outputs 仕様・Migration Guide を含む。

その他の変更

  • .mcp.json: DeepWiki エンドポイント URL を /sse/mcp に更新
  • .serena/project.yml: language_backend 設定コメントを追加

設計上のポイント

  • パス計算の共通化: compute-web-hosting-deploy-path Action により、caller 側は base-path-prefixproduction-branch を渡すだけでデプロイパス・本番判定が自動計算される
  • github コンテキストからの自動導出: pull_request / push / repository_dispatch / workflow_dispatch の各イベントに応じて ref-name を自動導出し、caller 側の条件分岐を不要にした
  • repository_dispatch 対応: production-branch の値を自動適用。staging 環境では ref-name でオーバーライド可能
  • 本番デプロイ時の安全策: .htaccess_feature/ ディレクトリを除外し、フィーチャー環境への影響を防止
  • SSH 鍵の自動クリーンアップ: if: always() で確実に秘密鍵を削除

関連 Issue

N/A

チェックリスト

  • uses: は full commit SHA(40文字)でピン留めし、タグをコメントで記載した
  • ファイル命名規則(kebab-case)に従っている
  • 必要な permissions を最小限で設定した
  • ローカルで actionlint を実行し、エラーがないことを確認した

kryota-dev and others added 3 commits March 2, 2026 14:35
- deploy-ftp: lftp を使用した FTP サーバーへのデプロイ
- deploy-rsync: rsync over SSH を使用したサーバーへのデプロイ
- delete-ftp: lftp を使用した FTP サーバーからのディレクトリ削除
- delete-rsync: rsync over SSH を使用したリモートディレクトリ削除
- 各 Action のドキュメントを追加

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- deploy-server: FTP/rsync でのデプロイ、PR コメント、Slack 通知を統合
- delete-server: FTP/rsync でのプレビュー環境削除、PR コメント通知を統合
- 各 Workflow のドキュメントを追加

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- DeepWiki エンドポイント URL を /sse から /mcp に変更
- Serena project.yml に language_backend 設定コメントを追加

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kryota-dev kryota-dev self-assigned this Mar 2, 2026
- deploy-ftp → deploy-web-hosting-ftp
- deploy-rsync → deploy-web-hosting-rsync
- delete-ftp → undeploy-web-hosting-ftp
- delete-rsync → undeploy-web-hosting-rsync
- deploy-server.yml → deploy-web-hosting.yml
- delete-server.yml → undeploy-web-hosting.yml
- 各ファイル内の参照パス、name、description、ドキュメントを一括更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kryota-dev kryota-dev changed the title feat: サーバーデプロイ・削除用の Composite Actions と Reusable Workflows を追加 feat: Web ホスティング向けデプロイ・アンデプロイ用の Composite Actions と Reusable Workflows を追加 Mar 2, 2026
kryota-dev and others added 6 commits March 2, 2026 16:49
- Actions: step name に web hosting / deploy / undeploy コンテキストを追加
- Workflows: job name と step name を用途に合わせて具体化
  - Deploy: "Deploy" → "Deploy to Web Hosting"
  - Undeploy: "Delete" → "Undeploy from Web Hosting"
  - Slack 通知・PR コメントに Deploy/Undeploy プレフィックスを付与

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 要件定義・設計・タスク分解ドキュメントを追加
- 承認スナップショットを追加

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ion を追加

- github コンテキストからブランチ名を自動導出しデプロイパスと本番判定を計算する Composite Action を新規作成
- deploy-web-hosting.yml / undeploy-web-hosting.yml の inputs を簡素化(is-pr, base-path, is-production を削除し base-path-prefix, production-branch, ref-name を追加)
- PR 判定を github.event_name ベースに変更
- ドキュメントに Migration Guide を追加

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ion-branch を自動適用

- repository_dispatch イベント時、production-branch の値を ref-name として自動使用
- caller 側での ref-name オーバーライドが不要に(staging 等では引き続きオーバーライド可能)
- Action / Workflow ドキュメントの使用例と説明を更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- workflow_dispatch 実行時のブランチ選択で ref-name が自動導出されるため不要
- 使用例を簡素化し、説明文を追加

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- undeploy-web-hosting.yml に production-branch input を追加(default: 'main')
- compute-web-hosting-deploy-path への production-branch パススルーを設定
- ドキュメントの Inputs テーブルを更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kryota-dev kryota-dev marked this pull request as ready for review March 2, 2026 17:25
@kryota-dev kryota-dev merged commit 8f2996f into main Mar 2, 2026
4 checks passed
@kryota-dev kryota-dev deleted the feat/server-deploy-delete-actions branch March 2, 2026 17:25
@kryota-dev kryota-dev mentioned this pull request Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant