FTPでファイルをアップロードするのが面倒くさい
今まで多くの人がそうであるように、
- サイト作成
- Githubに最新バージョンをプッシュ
- FileZillaをしようしてサーバーにデプロイ
- 修正
- Githubに最新バージョンをプッシュ
- FileZillaをしようしてサーバーにデプロイ
というフローを踏んでサイトを運用してきた。
が、これが面倒でしかたない。
どうせGithubにあげたものをデプロイするのであれば、プッシュと同時にデプロイができればいいのに…!
レンタルサーバーでもできるのか?
Firebase Hosting、Netlify …、などを使えばできることは知っている。
しかしレンタルサーバーでもできるのか?
正直レンタルサーバーは上記サーバーに比べて劣るイメージがある。
エックスサーバーで簡単にできた
まずはエックスサーバー万歳三唱🙌🙌🙌
本サイトはエックスサーバーを作っているのだが、エックスサーバーならGithub Action と連携できることを知った。
これで今までのフローとストレスと労力が半減された。
さらには常に最新バージョンがデプロイされるという先祖返りの危機もなくなった。
最後にエックスサーバー万歳三唱🙌🙌🙌
[sc name=“exserver_all_unlimited” ][/sc]
どうやって実現するのか
すごく簡単なので、特に考えすぎずに実行してほしい。
エックスサーバー側の設定
特にないけれど、エックスサーバーのサーバーパネルで
- 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ブランチにプッシュする、ただそれだけでサイト運営が嘘のように楽になる。
ぜひ、試してみてはどうでしょうか。
エックスサーバーができるので、当然他のレンタルサーバーでもできるのかもしれないが、上記方法はエックスサーバーでの方法になるので、悪しからず。