- 公開日: 2024-05-22
- 最終更新日:
レンタルサーバーにアップロードするのをGitHubだけで自動化しよう!
目次
はじめに
「サイトを更新するたび、FTPでアップロードするの面倒くさいな…」
と皆さん思った事ありませんか?。
実はGitHubだけで自動でサーバーにアップロード(以下デプロイ)してくれるんです!。
その自動デプロイしてくれるプラットフォームは、「GitHub Actions」といいます。
今回はこのGitHub Actionsを使って自動デプロイする方法を紹介していきます。
使用サーバー: さくらのレンタルサーバー
必要な物
- GitHubアカウント
- GitHubのリポジトリ
- 自動デプロイする対象のサーバー
なお、今回はGitをGitHubに連携するところは省略しています。
GitHub Actionsとは?
GitHub上のイベント(例:pushなど)をトリガーに動作する、
デプロイなどを自動化するためのプラットフォームです。
無料です。
全体の流れ
- GitHub Actionsに使うsecretsの作成
- Actionsメニューからワークフローの構成ファイルを作成
secretsとは?
secretsとは、リポジトリ内の構成ファイルに書き込めないFTPのパスワードなどの
秘密情報を記載して、構成ファイルの環境変数として利用できるものです。
これを使うことによって、平文でパスワードなどを記載する必要がなく、
より安全にデプロイできます。
GitHub Actionsに使うsecretsを作ろう
リポジトリの Settings > Security > Secrets and variables > Actions から
「New repository secrets」をクリックして、作成画面が出ると思うので、secretsを作成してください。
Nameが環境変数に使う名前で、Secretが環境変数の中身です。
記載するもの
各自、FTPのユーザー名と、パスワードと、サーバー名と、
サーバーのアップロード先のディレクトリを記載してください。
- FTP_SERVER
- FTP_USERNAME
- FTP_PASSWORD
- SERVER_DIR
こんな感じにできたら、次のステップに行きます。
今回使う構成ファイルのコード
on: push
name: 🚀 Deploy website on push
jobs:
web-deploy:
name: 🎉 Deploy
runs-on: ubuntu-latest
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v4
- name: 📂 Sync files
uses: SamKirkland/[email protected]
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
protocol: ftps
server-dir: ${{ secrets.SERVER_DIR }}
使いそうなオプション
オプション | 例 | 説明 |
---|---|---|
port | 990 | デフォルトでは21ですが、変更が必要な場合は、変更しておきましょう。 |
protocol | ftp | ftpのプロトコルを指定します。現在は殆どのレンタルサーバーでftpsが提供されてるのでftpsを使いましょう。 |
https://github.com/marketplace/actions/ftp-deploy のコードを参考に制作
海外アクセス規制があるなら事前に解除しておこう
さくらのレンタルサーバーのように、初期設定では海外のFTPのアクセスを拒否している場合があります。
その場合は解除してください。
https://help.sakura.ad.jp/rs/2260/
リポジトリにワークフローを作ろう
リポジトリのActions > set up a workflow yourself をクリック
そしたらこんな感じの画面が現れると思うので、さっきのコードを貼り付けてください。
貼り付けたら右上のコミットボタンを押し、
適当なメッセージをつけてコミットしてください。
コミットしたら、その後自動でデプロイされます。
これが緑色だったら、デプロイが成功しています。
茶色だったら、保留中(デプロイ中)です。
赤色だったら、デプロイが失敗してます。
極稀に失敗することがあるのでもう一回やってみましょう。
何回も続くようだったら、secretsなどを見直してみましょう。
まとめ
自動デプロイだからといって速度も遅いということもない(上記の画像では21秒)ので、
どんどん自動デプロイを使っていきましょう!。
今回は初心者の方でもわかりやすように、自動デプロイについて紹介してみました。
参考になったら幸いです。
よかったらグッドボタン&シェアお願いします!
記事の削除依頼や修正依頼については、問い合わせにて受け付けております。
ぜひお気軽に問い合わせください。
筆者のプロフィール
名前: Otusoa (本名: 小林 栄太)
主に1年半ぐらい趣味でWebサイトを作っています。
このブログは痒い所に手が届くニッチな技術を提供します。
当サイトでは、自分の好きなようなことをマイペースに発信していきます。
※私は謎の備忘録おじさんではなく、謎の備忘録お兄さんです(2009年生まれ)
コメント機能(仮)
ありがとう
おかげさまで上手くできました。
解決できたようならよかったです。
PitaHexブログへの書き込みありがとうございます。
送信したコメントは承認作業を行うまで表示されません。ご了承ください。
なお名前の入力は任意でメールアドレスの入力も必要ありません。 CAPTCHA(画像認証)の文字が表示されない場合は再リロードしてください。