ウェブサイトのバックエンドを更新しました

2020/05/01

みなさんこんにちは!

この度,河口研ウェブサイトのメンテを担当することになりました B4 の teru です.

これからちょくちょく出てくると思いますので,よろしくお願いします!

先日,河口研ウェブサイトはリニューアル されたばかりですが,この度,CI/CD を導入することで,より先進的なウェブサイトに生まれ変わりました!
ただ,生まれ変わったと言っても裏側のシステムですので,このウェブサイトに来ていただいた皆さんからみたら何も変わらないです…

さて,ここからは先ほど申し上げた CI/CD について詳しくお話ししたいと思います. なお,筆者 teru が CI/CD について完璧に理解しているわけではないので,用語の使い方に間違いがあるかもしれませんが悪しからず….

今まで,研究室のウェブサイトを更新する場合は,

  1. ウェブサイトのリポジトリを編集する (git)
  2. ウェブサイトの管理担当の人がウェブサイトを公開用にビルドして,正常に動作するか確認する (gatsby)
  3. ウェブサイトの管理担当の人が公開用サーバー(このページ)にログインして,上書きアップロードする

という手順を取っていました.

もちろん,上のような手順でもウェブサイトは更新できるのですが,ソフトウェア開発において自動化が進んだ現在は,上の 2. と 3. の手順を自動でやってくれるツールが存在します. それが,今回紹介する CI/CD (Continuous Integration / Continuous Delivery) という技術(というか総称?)です!!

では,実際に CI/CD を導入すると上記手順はどのように変化するかというと,

  1. ウェブサイトのリポジトリを編集する (git)
  2. CI により勝手にビルドされ,正常にビルドされたか管理者が一目で確認できる
  3. 管理者が数クリックするだけで,CD で自動的に公開用サーバーにアップロードされる

といった感じになり,管理者の手間が激減する素晴らしいシステムになります!

楽になりました!

さらに,CI/CD を導入する利点はまだまだあります.例えば,

  • 環境変数をデプロイ先毎に分けることで,ビルドやデプロイの設定を個別に,柔軟に指定できる
  • もし公開用サーバーに問題のあるビルドをデプロイしてしまっても,以前のデプロイにワンクリックで戻せる
  • ローカルの開発環境が変化(例えば,PCを買い替え)しても,ビルド環境は変わらないため,安定したビルドができる
  • 何より,自動化はつまり機械に任せることなので,人為的ミスによるエラーを減らせる

など,筆者も知らないメリットがまだまだあると思います.

この記事を読んで CI/CD を使いたくなった方は,GitHub Actions や GitLab CI/CD, Circle CI, Azure Pipelines など様々なサービスがありますので,一度調べてみてください. (河口研でどのサービスを使っているかは内緒です♪)

これできっと,1月のリニューアル のように,保守を諦めて別のスタックに乗り換えるということはなくなると期待しています…. (でも,たいてい5年ぐらい経つと枯れた技術になってしまうんですよね….)