アウトプットログ

チラシの裏からの脱出に向かう線形のブログ

パソコンを変えたらHeroku デプロイができた話

TOMONIでメンターの方と最初の面談をしていただき様々なアドバイスを頂戴し、将来的な目標、開発コース中2か月間の目標、現状認識、そして1週目の課題設定を明確にしました。

目標について

まず、将来的なゴールはまだ明確ではない旨をお伝えしました。そして現在作りたいものの確認をしました。現在具体的には2つのアイデアがあります。

  • 研究に使う魚の生息調査をする際に役立てるアプリ

  • 論文著者ユニークIDのAPIを使って簡単にデータを出力するアプリ

いずれもデータベースを利用することが予測されますが、クレジットカード情報などを取り扱うわけでもないという意味で、現段階ではそれほどセキュリティ周りを厳しく設定する必要がないのではというところに落ち着きました。

2か月間の目標と現状

魚のアプリを昨年のプログラミング教室の卒業制作として作成したので、そちらをrailsアプリとして制作し、デプロイもする。ことを確認しました。

プログラミング教室ではRubySinatraというシンプルなフレームワークを使って設計し、ローカル環境で動かせるところまで実装しました。

卒業後の目下の目標は、このアプリをRuby Railsで制作しデプロイすることでした。

ProgateでRailsコースを学ぶ一方、Herokuを使ってSinatraアプリのデプロイを何度も試していました。しかしHeroku画面上でApplication Errorが表示されてしまい頓挫。

その後同窓生からRails Tutorial上にHeroku デプロイのやり方が含まれていると聞いて、Sinatraでのデプロイは一旦諦めてRails Tutorialに従って"Hello World"だけでも良いからHeroku デプロイを成功されてみよう、というお話になりました。

1週目の課題

  • 過去に失敗したHerokuデプロイを試すこと

しかしメンターさんとのカウンセリングまでにRails Tutorial1章を進めており、やはりHeroku 画面の繊維でAppliation Errorが出ている状況でした。 というわけで、まずはエラーの内容をブログにまとめる、という課題をいただきました。

その後

大変由々しきことながら、エラー内容をブログにまとめることなく、次へ進んでおります。

なぜかというと、エラー内容をまとめる能力がまだ追い付いていませんでした。

記憶をたどると、このような流れで動きました:

  • Heroku上のApplication Errorに出ていた「ログを確認」する方法で確認したところ、pg周辺で問題が起きている様子。

  • そもそもgit push heroku masterをした時点でfatal errorが3つほど出ていた。

  • 自分なりにエラーメッセージでGoogle検索をしてそれぞれ解決方法を試す(具体的には下記: Teratailのものが多かった)

  • pgがおかしい? pgがない?brewでpgを落とす?brewが動かない!Homebrewも動かない!Sudoで動かす。「こうすればhomebrewが落とせるよ」→複数のファイルを削除

  • Cloud9上で新しい環境を構築して1からTutorialを試すもやはりApplication Errorになる

  • エラーが多すぎて全部を拾えずパニックに

  • 職場で作業をしていたので、職場のWindows PCでCloud9にて新しい環境を構築してRaisl Tutorialの1章をすべて行ったところ、デプロイ成功

  • Mac Bookがおかしい? → Macを初期化

  • Mac BookでRaisl Tutorialの1章をすべて行ったところ、デプロイ成功

そんなはずはないんだけど

Cloud9はローカル環境に縛られず開発環境を作ることができるクラウドなので、Mac Bookの不具合に干渉されるのはおかしい。 というのは頭では理解しています。もちろん、Cloud9上で何度も同じところを失敗して堂々巡りをしていただけなのかもしれません。いや多分こっちなんだろうな。

反省点をふまえて

  • 次回からエラーメッセージがが出たらまずログを取る

  • エラーメッセージを読み解いてみる

  • 別途デバッグ方法を学ぶ

初期化を経て、自分のMacがまっさらの状態になりました。

今後しばらく、開発はCloud9とDockerを利用して進めて行こうかなと考えています。