本文へスキップ
メニュー
テーマ

GitHub ActionsでFTPサーバーに自動デプロイする

目次

はじめに

FTPソフトで直接ファイルをアップすると、どのバージョンを公開しているのかを管理しづらいので、GitHub Actionsを使って自動デプロイをできるようにします。リポジトリにpushすると、ファイルがFTPサーバーにアップロードされます。

ワークフローを定義する

プロジェクトのルートディレクトリ直下に .github/workflows/main.yml を作成し、以下のコードを記述します。
ファイル名はmain.ymlでなくても大丈夫です。

FTPアカウントとサーバーの情報は、漏洩を避けるために、GitHubのSecretsに登録したものを参照します。

main.ymlYAML · 21行
on:  push:    branches:      - mainname: 🚀 Deploy website on pushjobs:  web-deploy:    name: 🎉 Deploy    runs-on: ubuntu-latest    steps:      - name: 🚚 Get latest code        uses: actions/checkout@v6      - name: 📂 Sync files        uses: SamKirkland/FTP-Deploy-Action@v4.4.0        with:          server: ${{ secrets.FTP_SERVER }}          username: ${{ secrets.FTP_USERNAME }}          password: ${{ secrets.FTP_PASSWORD }}          server-dir: ${{ secrets.FTP_SERVER_DIR }}          local-dir: ./
  • onでブランチを指定しているので、mainブランチにpushしたときだけデプロイされます。on: pushとだけ書くと、すべてのブランチのpushでデプロイされます。
  • server-dirとlocal-dirに指定するディレクトリは、最後がスラッシュ(/)で終わるように指定してください。
  • .gitで始まるファイルやディレクトリと、node_modulesは、既定でアップロードの対象から外れます。
  • アクションのバージョンは、2026年10月時点のFTP-Deploy-ActionのREADMEに合わせています。
注意

FTPは、パスワードやファイルを暗号化せずに送ります。サーバーがFTPSに対応している場合は、withにprotocol: ftpsを足して、通信を暗号化してください。

FTPアカウントとサーバー情報を設定する

GitHubのリポジトリの[Settings]から[Secrets and variables] > [Actions]を開き、[New repository secret]をクリックします。

[New repository secret]をクリックして登録を始める

[New repository secret]をクリックして登録を始める

NameとSecretには、それぞれ以下のように設定してください。

Name

Secret

FTP_SERVER

FTPサーバー

FTP_USERNAME

FTPアカウント名

FTP_PASSWORD

FTPパスワード

FTP_SERVER_DIR

FTPのディレクトリ(最後は / で終える)

4つのSecretsを登録できたことを確認する

4つのSecretsを登録できたことを確認する

リモートリポジトリにpushする

ここまでの設定が完了したら、GitHubのリモートリポジトリにプロジェクトをpushしてください。

GitHubで[Actions] > [All workflows]を開くと、デプロイのログなどを確認することができます。

デプロイの実行結果はここで確認できる

デプロイの実行結果はここで確認できる

FTP情報の確認方法

ロリポップ!

各種FTPソフトの設定方法 - ロリポップ!レンタルサーバー⁠(新しいタブで開く)

ConoHa WING

FTPソフトを設定する|ConoHa WINGサポート⁠(新しいタブで開く)


参考・引用

この記事は役に立ちましたか?