加藤祐介ブログ

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の勉強もできて一石二鳥でした。かなり嬉しいです。それでは、また。

お知らせ

過去のお知らせ

シリーズ記事一覧

各シリーズの記事を下記にまとめてあります。

我が家のインコ「れもん&ぽぽ&ぐぐ」の日記 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記16 : れもんが本に掲載されたり、愛鳥祭に行ったりなど 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記15 : 落花生、新聞紙、れもんとぐぐの邂逅 インコの飼い方と注意点(2024年版) 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記14 : 大人に近づくれもんと遊ぶ余裕が出てきたぐぐ 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記13 : 生後4ヶ月を迎えたれもんと我が家に慣れてきたぐぐ 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記12 : ぽぽが亡くなりました、そしてぐぐがやってきました インコ仲間「れもん&ぽぽ」の日記11 : ズグロシロハラインコのぽぽ、我が家へ セキセイインコ「れもん」の日記10 : 生後100日のれもん、ついに喋る セキセイインコ「れもん」の日記9 : 換羽期のれもん セキセイインコ「れもん」の日記8 : 病院へ挑戦! セキセイインコ「れもん」の日記7 : 外出用ゲージにチャレンジ! セキセイインコ「れもん」の日記6 : 新宿ことり博に行ってきました! セキセイインコ「れもん」の日記5 : 3週間経って順調に成長している模様 セキセイインコ「れもん」の日記4 : 鳥フェス千葉2024に行ってきました! セキセイインコ「れもん」の日記3 : 2週間経って我が家にも慣れてきた模様 セキセイインコ「れもん」の日記:第2回 セキセイインコの「れもん」が我が家にやってきました!
AlpacaHackで始めるCTF入門 AlpacaHackで始めるCTF入門6:AlpacaHack Round 4 - Simple Flag Checkerに挑戦 AlpacaHackで始めるCTF入門5:AlpacaHack Round 3 - qrimeに挑戦 AlpacaHackで始めるCTF入門4:AlpacaHack Round 2 - Simple Loginに挑戦 AlpacaHackで始めるCTF入門3:初めてのCTFに参加 AlpacaHackで始めるCTF入門2:DreamhackでCTF入門 AlpacaHackで始めるCTF入門1:初めてのCTF
シェル芸 第66回シェル芸勉強会メモ 第64回シェル芸勉強会メモ ChatGPTでシェル芸勉強会の問題が解きたい シェル芸botで遊びたい(Bash)
ROS 2 改訂新版『ROS 2ではじめよう』を読了&メモ書き ROS 2 Jazzy公式チュートリアル02: ROS 2のノードとトピックについて ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで ROS 2 Humble 公式チュートリアル 02: ROS 2 のノード関係のコマンド ROS 2 Humble 公式チュートリアル 01: 環境構築から turtlesim まで
読書日記 改訂新版『ROS 2ではじめよう』を読了&メモ書き
映画日記 映画日記『ラストマイル』感想【ネタバレあり】
料理日記 料理日記:豆腐春巻き 料理日記:鶏肉とナスのほりにし炒め 料理日記:卵焼き 料理日記:鶏肉の照り焼き&小松菜のおひたし 料理日記:納豆蕎麦 料理日記:ローストビーフ 料理日記:バターガーリックチキン
その他 HTMLのvideoタグで貼った動画のサムネイルがSafariで表示されない問題を解決 WSL2上のUbuntuのVimで矩形選択するための設定 JR東日本公式のお忘れ物チャットにお世話になった話 HTMLとCSSで画像のスライドショーを作成 GitHub Actionsでサーバ上のブログを自動更新 『Omega Crafter』プレイ日記: チュートリアル編 自作ブログ大改造計画 Windows と Ubuntu のデュアルブート HTML数式表示テスト 自作ブログ開始

加藤祐介ブログの著作物はCC BY-NC-ND 4.0で公開されています。
加藤祐介ブログのソフトウェアはApache License 2.0で公開されています。
About License: GitHub - YusukeKatoBlog/LICENSE
© 2023 YusukeKato All Rights Reserved.