LoginSignup
7

More than 5 years have passed since last update.

JavaでEclipseでGitHubでHerokuでハッピーになりたい時に最初にすること

Last updated at Posted at 2017-05-04

結論三行

結論からいうとここの手順どおりでいけました。英語。
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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7