結論三行
結論からいうとここの手順どおりでいけました。英語。
(https://devcenter.heroku.com/articles/deploying-java-applications-to-heroku-from-eclipse-or-intellij-idea)
いきさつ
せっかくのGWなので、趣味と勉強を兼ねて
なにか簡単なWEBサービスでも作ってみようかと思い立ちました。
言語やIDEは職場で慣れているJavaとEclipse。
アーキテクチャやインフラの知識はほとんど無いので
なんかイケてるとの噂のHerokuにおまかせしちゃおう、
HerokuならGitHub使うのがいいだろうな、
とそこまでは安易に決めてしまいました。
が、
けっこう躓いてしまったので注意点とか手順とか自分用にメモ。
躓いたポイント
Gitわからんと何もわからん!
リモートをローカルにプルして修正したあと
ステージにaddしてコミットしてからプッシュする
とかルー語にしか見えませんでした。
仕事で使ってるバージョン管理とぜんぜん違う。
頑張っていろはの「い」だけ覚えました。
ブランチとマージは後からゆっくり覚えます。。。
mavenの知識も最低限要求される。
まず、mavenって何?ってところからでした・・・
mavenの基本を解説してくれてるサイト:
(http://www.techscore.com/tech/Java/ApacheJakarta/Maven/index/)
順番が大事
最初は自分がわかっている順から疎通を試みましたが
これが大失敗でした。
まずEclipseでハローワールド作って
それをGitHubで作っておいたリポジトリに登録しようとしました。
とやったところで早速エラー。
Gitの知識がぜんぜんなく、なぜ怒られているか理解するのに
時間がかかりましたが、どうやら
歴史が違う
ようです。
GitHub新規リポジトリ作成→ローカルにクローン→ローカルにEclipseでハロワ書き足す→そこからコミット・リモートへプッシュする
という手順か、
ローカルリポジトリをローカルで新規作成する→Eclipseで書き足す→GitHubで新規リポジトリをローカルから作成する
というような手順じゃないと、履歴の整合性が合わないのですね。
(うう、日本語にするとややこしい・・・・)
無事GitHubの連携までできたところで、
こんどはHerokuに、
No default language could be detected for this app.
みたいな怒られ方しました。
HerokuはHerokuで必要なファイルをいろいろ持っていて、
それらが入っているリポジトリじゃないとPushできないんですね。
最終的に
と、いうことで最初からやりなおし。最終的にはここの手順どおりでいけました。
(https://devcenter.heroku.com/articles/deploying-java-applications-to-heroku-from-eclipse-or-intellij-idea)
前提として
- maven,
- Heroku CommandLineTools,
- git,
- Eclipse Pleiades
が導入済みであること。
- まず、HerokuからJava、Eclipse用にまとまっているリポジトリをローカルにクローンする
- heroku createする
- Eclipseにインポートする
- mavenビルドする(失敗する場合は、pom.xmlにappNameを書き足す)
- GitHub新規リポジトリを作り、git push -u origin masterする。
- 最後にHeroku側でGitHub連携、Auto Deployを有効にする
・・・
開発環境を整えるだけで3日かかってしまった・・・orz