GithubActionを使用してエックスサーバーにデプロイする

サイトを作成し、更新するたびにFileZillaを使用してサーバーにデプロイする。これがとっても面倒くさいので、自動でデプロイする仕組みを実践した。

目次

FTPでファイルをアップロードするのが面倒くさい

今まで多くの人がそうであるように、

  1. サイト作成
  2. Githubに最新バージョンをプッシュ
  3. FileZillaをしようしてサーバーにデプロイ
  4. 修正
  5. Githubに最新バージョンをプッシュ
  6. FileZillaをしようしてサーバーにデプロイ

というフローを踏んでサイトを運用してきた。

が、これが面倒でしかたない。

どうせGithubにあげたものをデプロイするのであれば、プッシュと同時にデプロイができればいいのに…!

レンタルサーバーでもできるのか?

Firebase Hosting、Netlify …、などを使えばできることは知っている。

しかしレンタルサーバーでもできるのか?

正直レンタルサーバーは上記サーバーに比べて劣るイメージがある。

エックスサーバーで簡単にできた

まずはエックスサーバー万歳三唱🙌🙌🙌

本サイトはエックスサーバーを作っているのだが、エックスサーバーならGithub Action と連携できることを知った。

これで今までのフローとストレスと労力が半減された。

さらには常に最新バージョンがデプロイされるという先祖返りの危機もなくなった。

最後にエックスサーバー万歳三唱🙌🙌🙌

マルチドメイン、サブドメイン
メールアドレス、FTPアカウント、全て無制限!

どうやって実現するのか

すごく簡単なので、特に考えすぎずに実行してほしい。

エックスサーバー側の設定

特にないけれど、エックスサーバーのサーバーパネルで

  • ftpサーバのホスト
  • ftpサーバのアカウント名
  • ftpサーバのパスワード

を確認してメモをしておく。

参考:FTPソフトの設定 | レンタルサーバーならエックスサーバー

Github側の設定

対象リポジトリのSettings > Secrets に下記情報を入力する。

FTP_PASSWORD
→ ftpサーバのホスト

FTP_SERVER
→ ftpサーバのアカウント名

FTP_USERNAME
→ ftpサーバのパスワード

deploy.ymlの作成

対象リポジトリ直下に.github/workflows/ディレクトリを作成し、その下にdeploy.ymlファイルを設置する。

そこに下記情報を入力すれば完了。

on:
push:
branches:
- main
name: Deploy
jobs:
FTP-Deploy-Action:
name: FTP-Deploy-Action
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: FTP-Deploy-Action
uses: SamKirkland/FTP-Deploy-Action@2.0.0
env:
FTP_SERVER: ${{ secrets.FTP_SERVER }}
FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
LOCAL_DIR: ./
REMOTE_DIR: /デプロイ対象のサイト/public_html/

あとはmainブランチにプッシュする、ただそれだけでサイト運営が嘘のように楽になる。

ぜひ、試してみてはどうでしょうか。

エックスサーバーができるので、当然他のレンタルサーバーでもできるのかもしれないが、上記方法はエックスサーバーでの方法になるので、悪しからず。

次に読むおすすめ記事

WardPressの管理をGit Flowで管理していたが、VSCodeの拡張機能「WordPress Post」を使うことで世界が変わった。

WordPress.orgに登録したプラグインをGitHub Actionを使用しGitHub上で管理する

Githubでリポジトリ用のプルリクエストテンプレートを作成する

今後のことを考え、WordPressの記事をGitで管理しGithubに一元管理することにした

git pullした時に、「error invalid path」というエラーが出たので解決する

この記事に対するコメント

お気軽にコメントを下さい

メールアドレスが公開されることはありません。 が付いている欄は必須項目です