183 Views
June 20, 24
スライド概要
にこのこ LT 会 #7 で発表したスライド
動自 2024-06-19 NITMic 公式サイトの デプロイを自動化したい 情報工学科 4 年 / NITMic / niC fjktkm
1/12 課外活動用ウェブサイトホスティングサービス ‒ 概要 ‒ 大学のドメインで Web サイトを公開 ‒ 例:nitmic.club.nitech.ac.jp ‒ メリット ‒ 信頼性・ブランドイメージの向上 ‒ 無料 ‒ 引継ぎが比較的楽 ‒ デメリット ‒ 制約が多い ‒ ぬくもりのある 手動デプロイ になりがち
2/12 デプロイ自動化のために検討した手法 リモート Git ホスティング フレーム転送 カスタムドメイン GitHub Actions で SSH
3/12 リモート Git ホスティング ‒ Webhook をトリガーに自動で Pull を実行するという仕組み ‒ Webhook の URL にアクセスするには VPN が必要 なので自動化不可
4/12 フレーム転送 ‒ GitHub Pages などで別にホスティングしたサイトに画面だけ転送 ‒ 情報基盤センターの 魔法の力で フレームが転送されない!
5/12 カスタムドメイン ‒ GitHub Pages でデプロイしてカスタムドメインを設定する方法 ‒ サブドメインに DNS の権限が 委譲されていない ことがわかった!
6/12 GitHub Actions で SSH 接続 ‒ SSH 接続には VPN が必要 ‒ 情報基盤センターいわく IP アドレスの制限をするならポート開放可 ‒ IP アドレスの範囲広すぎ(およそ 4500 個) & 不定で無理でした
7/12 手動デプロイ すればいいのに
8/12 Self Hosted Runner ‒ サーバ側で実行してリポジトリを監視する仕組みなのでポート開放不要 ‒ GitHub Hosted Runner と組み合わせて実行可能 ‒ GitHub Hosted Runner でビルド + Self Hosted Runner でデプロイ
9/12 ストレージ容量超過(当日 4.15) ‒ 上限が 1 GB なのに 3.3 GB も使い容量超過でサービス停止 ‒ 原因:動作検証中に発生した不要なファイル ‒ 先生に謝罪のメール 手動デプロイ すればいいのに
10/12 歴史は繰り返す(4.29) ‒ またもや容量超過でサービス停止 ‒ 原因:Self Hosted Runner の自動アップデート機能 ‒ 対策:自動アップデート機能を無効化するオプションを設定 手動デプロイ すればいいのに
11/12 2 度あることは 3 度ある(6.10) ‒ またもや容量超過でサービス停止 ‒ 原因:なぜかまた自動アップデートが走っていた ‒ 対策:ストレージ上限を 4 GB に引き上げてもらった 手動デプロイ すればいいのに
12/12 結論 ‒ NITMic 公式サイトのデプロイを自動化できた ‒ VPN が大きな障壁となった ‒ GitHub Hosted Runner を使うことで解決 ‒ ストレージの容量制限にぶち当たった ‒ 上限を 4 GB 引き上げてもらった ‒ Self Hosted Runner 便利かも ‒ 自宅サーバにデプロイする場合とかにも使えそう 自動 デプロイ すればいいのに