プロジェクトの詳細

学校ホームページサイトのトップページリニューアル対応。 リニューアルページのHTML, CSS, JavaScriptなどは別の方が作成してくれていたため、CMSに取り込みホームページとして表示する部分を担当。また、リニューアルに合わせて他ページの修正。

使用技術

  • 管理画面(社内パッケージCMS): PHP
  • インフラ: k8s, Vagrant

参加期間

  • 2020年1月〜2020年4月

開発規模

  • 4人

プロジェクトでの課題

ホームページのトップ画面のリニューアルに合わせて、各所のページコンテンツなどを新しくした。 しかし、トップページではCMSにHTMLがハードコーディングされていて、適切に他の記事情報を取得できる状態になっておらず汎用性の面において課題があった。そのため、記事を作成しても動的にトップページに表示されない問題が起きていた。

主な取り組み

  • CMSで記事やその他コンポーネントのパーツ化とトップページテンプレート化
  • 障害が起こった際の情報収集と共有

【管理画面】

ハードコーディングされていた原因として、HTML, CSSは別途他の方が完成版を作成して取り込む形になっていたため、それをそのまま埋め込んでいた結果今回の現象が起きていたと考えています。

納品されるHTMLでは記事の情報などは仮で作成されたものを表示したい記事のリンクや埋め込みを都度修正することが必要で、CMSの汎用性を損なっていたためリニューアルに合わせてその部分の改修をしました。

まずパーツを分ける必要があったため、HTMLからsectionごとにコンポーネントを分け適切なパーツに分解し、パーツ内部の情報を検索する機能の実装をしました。古いパッケージでドキュメントも少なく、保守状態で死活監視のみが動いてる状態だったため常駐しているエンジニアがおらず、コードや昔のタスクなどから調査する作業が苦戦しました。 次に、記事を作成するページを別途作成し、管理画面側から作成することでHPの中に動的に表示できるようにしました。

【インフラ】

リリース後、ホームページがダウンしてることに気づき、k8sの操作などは一通り聞いていたため障害対応を行ないました。 gkeのエラーログを見つつサーバー内部に入って確認しましたが、当時の実力では解決できない問題だと判断し、社内のエンジニアで対応可能な人に頼み修正を依頼しました。 本番環境だったこともあり、調査に時間をかけるべきではなく、対応可能なエンジニアを見つけてもらった方が解決は早いと判断し社内のプロジェクトリーダーに伝えました。 また、緊急で参加してくれたエンジニアに、プロジェクトの状況、エラーの状態など調査したところまでの共有しつつ、別プロジェクトから来てすぐに調査できるよう意識して情報の共有をしました。