2018/12/17

ホームページの移設で事故って半日表示されなくなった経緯

だるまやのホームページはGitHub Pagesという仕組みを使っています。
GitHubはソフトウェア開発者以外はあまり馴染みがないかもしれませんが、複数人で開発をする際のバージョン管理にとても向いている仕組みです。
といっても、僕もだるまやのホームページをリニューアルする際に、初めて使ったのですが。。

まぁ技術的な話は置いておくとして、ホームページの運用で盛大にトラブったので、今後のために経緯をまとめておこうと思います。

未来の俺よ、またトラブったらこの文章を読み返すんだぞ。笑


2018年12月16日

使っているMacBookProの容量が限界に近づいてきたため、恒例のHDD消去→OS再インストールを行うことにした。
原因よくわからないのだけど、Macを長く使っているとストレージがどんどん逼迫してくるのです。
私用状況見てもどのファイルが容量くっているのかよくわからず、とりあえずの対処としてHDD消去→OS再インストールが最も効果的ということで定期的に行っています。
今回はついでにOSをMojaveにアップグレードすることにしました。

今は大事なファイルはほぼクラウドで管理しているので、主要なアプリや画像データを入れるだけですぐに使えるようになるので超便利。

で、いつもどおりHDD消去して、アプリ入れて、とかやっていたところ、GitHub環境構築で盛大にコケました。

その際に書いた箇条書きは以下。

1. 使っているMacBookProのHDDの容量がパンク寸前のため、HDD消去→OS再インストールを行う

2. GitHub環境構築の際に、GitHubDesktopへのcloneでコケる
2.1. 容量が大きすぎてDLできない。以前はHDDの自動スリープが原因でタイムアウトしていたので、自動スリープをオフにすれば解決したが、今回はそれでもNG。
2.2. 何度試しても駄目なので、仕方がないのでTimeMachineのバックアップからgithub.io内のファイルをすべて復元。

3. そのまま使えるかと思ったが、うまくいかないため、レポジトリの移行(ホームページの移設)を行うことにする
3.1. 以前の移行手順をもとに.gitなどの隠しフォルダを削除し、.srcフォルダの中身なども削除し、新しいレポジトリを作成

4. npmのインストールで盛大にコケる
4.1. 新レポジトリもだいたい作り終え、新レポジトリのサイトを更新しようとしたところ、grunt watchが動かない。npm のインストールをしていなかったな〜と、npm installを実施すると、エラーが出まくる。
4.2. npm(package.json)内で指定しているツールが求めるgruntのバージョンの整合性が合わずどうやってもうまくいかない。(あるツールは0.4.x系統を求め、あるツールは1.0系統以上を求めるため、デッドロックした。)


2018年12月17日

4.3. ふと、HPリニューアル直後のpackage.jsonと比べてみると、各ツールのバージョン指定をいろいろといじっていることに気づく。そういえば脆弱性指摘メールが届くたびにツールのバージョンを上げていたなぁと思いつく。
4.4. package.jsonをリニューアル直後の状態に戻し、npm installで解決


5. レポジトリの移行で盛大にコケ、HPが8時間止まる
5.1. レポジトリの移行を実施したところ、2時間待っても表示されない。There isn't GitHub Pages..みたいなエラー画面。
5.2. サポートに問い合わせ
5.3. 返事を待っている間にブログのデザインも崩れていることに気づく。ブログのCSSをHPから引用しているため。
5.4. 返事が来た!再度commitを送れば解決すると言われて、commitを実施して解決。。
2.5日と、かなりの精神力を使ったわ。。。

親切にメッセージをくれた伊藤さん、すぐに調査に動いてくれたぉぉっゃさん、GitHubサポートのThomasに感謝。


とりあえず今後の対策としては、

1. サイト移設(レポジトリ移行)は、18時以降に行う。
 GitHubのサポートとの時差を考えると、夕方から作業したほうが問い合わせの返事が早い。

2. GitHubフォルダを丸ごとバックアップしておく。
 TimeMachineが使えない環境なのでこれは手動でやっておくしかない。
 というか、TimeMachineの設定を明日から使う予定の新MacBookProでやるのがベストかな。


ホームページを創ってから計画停止以外でサイトが止まったことってほとんどないので、今回は半日も止めてしまって焦ったわ。




0 件のコメント:

コメントを投稿