コンテンツにスキップ
4月末からの大型連休につきまして、平日は通常通り出荷いたします。
4/27~4/29まで土日祝でお休み、4/30~5/2までは通常営業、5/3~5/6まで土日祝でお休みです。
4月末からの大型連休につきまして、平日は通常通り出荷いたします。
4/27~4/29まで土日祝でお休み、4/30~5/2までは通常営業、5/3~5/6まで土日祝でお休みです。
ECシステム開発チーム、M5Stackのミラーサイト構築でやったこと

ECシステム開発チーム、M5Stackのミラーサイト構築でやったこと

こんにちは、採用広報担当の平山です。

スイッチサイエンスのシステムエンジニアたちは、自社ECサイトの開発に従事する傍ら、多岐にわたる業務に取り組んでいます。そんな彼らの活動の中で、今週は「M5Stackのサイトが見られない!」というユーザー様のSNS投稿を受け、急遽始まったミラーサイト構築について紹介します。

M5Stack側でもこの問題に対応中ですが、冗長化のために当社側でもミラーを作って維持する方針で進めることにしました。昨日配信のプレスリリースも併せてご覧ください。

以下、ECシステム開発チームのエンジニア鈴木によるまとめです。

 


 

元のサイト:https://docs.m5stack.com
ミラーしたサイト:https://docs.m5stack.switch-science.com

 

  • X(旧ツイッター)でM5Stackのサイトが見れない場合があるとの投稿があり。不確かだが、OCNがプロバイダだとそうなることがあるらしい。(10月22日)
  • 当社内で「ミラーサイト」を立てたらどうかという人がいて、ECシステムチームに具体的な指示がきた。(10月24日)
  • M5StackのメンバーとWeChatでやりとりしてサイトを構成するファイルをもらった。(10月26日)
  • サイトはNuxtでできていて、できればgenerateコマンドで静的なファイルの生成をして、それをAWS S3に置くなどができれば楽だったが、静的ファイル生成は成功しない状態だった。その代わり試行錯誤したところDockerで立ち上げることができた。(10月27日)
  • 普段AWSを使っているので、このDockerコンテナをECRとECSを使ってサービスを立ちあげようと考えて、CDKで書いて試していたが、うまくいかず半日ほど費やしてしまった。(10月30日)
  • 「なるはや」と言われていたので、立ち上げの手間が少なさそうなGoogleのCloud Runに載せてみたところ動いた。(10月30日)
  • そこでとりあえずGithubにリポジトリを作り、Cloud Buildでデプロイするように設定した。(10月31日)
  • 本家サイトの更新をミラーサイトにも反映していくために、M5Stackが使っているGitLabのリポジトリを当社が取得する方法を検討。
  • 様々な選択肢があったが、最終的には当社のGitHub Actionsのワークフローが定期的(現在は3時間おきに)M5StackのGitlabのコードを取得する方法にしようと考えて、M5Stackからリポジトリの読み込み権限をもらった。(11月7日)
  • M5Stack側のコードは、Dockerで起動するために、当社で作成したパッチを適用する必要があるので、そうしたことはワークフローで行ってから、リポジトリにpushするようにした。
  • Githubにpushされると、それがGoogle Cloud Buildのトリガーとなって、Dockerのビルド、レジストリへのイメージのpush、Cloud Runへのデプロイを行うようになっている。
  • 以上で、とりあえず定期的なコンテンツの更新が行われるミラーサイトが立ち上がった。(11月10日)
  • 今回は色々知らないことが多く、30時間ぐらいは費やしたように思う。

 


 

システムエンジニア募集中です!

興味のある方はぜひカジュアル面談へ!お待ちしています。

前の記事 古いFlask + SQLIteなウェブアプリ "EAGLE ".brd" file panelizer" を移設した話