加藤祐介ブログ

GitHub Actionsでサーバ上のブログを自動更新

記事投稿日: 2024年4月6日(土)

最終更新日: 2024年4月6日(土)

はじめに

本ブログを自動更新したかったのでGitHub Actionsを設定してみました。

ブログのGitHubリポジトリ更新時、GitHub Actionsによって、レンタルサーバへ自動でssh接続が行われ、任意のコマンドが実行されます。これにより本ブログが自動で更新されるようになりました。

この記事ではGitHub Actionsの使い方をざっくりまとめてみます。

対象のGitHubリポジトリ

本ブログのGitHubリポジトリはこちらです。 このリポジトリを見てもらえれば、今回何をやったのかは理解していただけると思います。 コミット履歴が汚いことは私も残念に思っています泣。

加藤祐介ブログのGitHubリポジトリ

GitHub Actionsの設定

今回作成したブログ自動デプロイ用の設定ファイルはこちらです。 ssh接続に必要な情報(秘密鍵など)はGitHubリポジトリのSecrets機能で隠しています。

GitHub Actionsの設定ファイル

今回はssh接続のためにhost、username、key、portを設定しています。 公開鍵と秘密鍵の生成時にpassphraseを設定した場合はpassphraseの情報も必要になります。

設定ファイルの書き方はこちらの記事を参考にしました。

GitHub Actions を使用してデプロイ(サーバに入ってpull)するまでやってみた(後半戦)

GitHub Actionsにおいてssh接続のために使用しているアクションはこちらです。

appleboy/ssh-action

公開鍵と秘密鍵の設定

公開鍵と秘密鍵を生成してssh接続する流れはこちらの記事が参考になります。

GitHub Actionsでレンタルサーバにsshしてpullする方法

Deploy Keysの設定

対象のGithubリポジトリにDeploy Keysを設定する方法はこちらの記事が参考になります。

【GitHub】Deploy keysを使ってsshでpullするまで

お名前.comのレンタルサーバへのssh接続

お名前.comでレンタルしているサーバへssh接続する方法はこちらの記事が参考になります。

お名前.com レンタルサーバーでSSH接続する方法

ブログ自動更新スクリプト

本ブログを自動更新するスクリプトはこちらです。

YusukeKatoBlog/scripts/

複数のファイルに分かれていますが、主な内容は下記の通りです。

以上のブログ自動更新スクリプトをGitHub Actionsで実行することでブログをデプロイしています。

おわりに

この記事ではGitHub Actionsを使って本ブログを自動更新する方法について簡単にまとめました。これでブログの更新が楽になりました。また、GitHub Actionsの勉強もできて一石二鳥でした。かなり嬉しいです。それでは、また。

お知らせ

シェル芸オンラインジャッジ

加藤祐介ブログはMITライセンスで公開されています。
Copyright Since 2023 (C) YusukeKato All Rights Reserved.