山崎屋の技術メモ

IT業界で働く中で、気になること、メモしておきたいことを書いていきます。

Spring boot で作ったアプリを Heroku にデプロイして全世界に公開

以前、Heroku にユーザ登録した記事を書きました。
yyama1556.hateblo.jp

では、実際に Spring boot で作成した Web アプリを Heroku にデプロイして公開してみたいと思います。

アプリは "Hello! Spring Boot!!" という文字列を表示するだけの簡単なものです。
作り方は以前の記事を参考にしてください。
yyama1556.hateblo.jp

では、さっそくやってみます。


まず、GIT の設定。

コマンドプロンプトでプロジェクトのルートフォルダに移動し、[ git init ]で ソースを GIT で管理させます。

そのあと [ git add --all ]で git のインデックスに登録。

その後、[ git commit -m "web app" ] のようにコミットします。

コマンドの入出力の例です。

C:\Users\yyama>cd C:\workspace\demo

C:\workspace\demo>git init
Initialized empty Git repository in C:/workspace/demo/.git/

C:\workspace\demo>git add --all

C:\workspace\demo>git commit -m "web app"
[master (root-commit) e2d7aaa] web app
 10 files changed, 486 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 .mvn/wrapper/maven-wrapper.jar
 create mode 100644 .mvn/wrapper/maven-wrapper.properties
 create mode 100644 mvnw
 create mode 100644 mvnw.cmd
 create mode 100644 pom.xml
 create mode 100644 src/main/java/org/yyama/demo/DemoApplication.java
 create mode 100644 src/main/java/org/yyama/demo/DemoController.java
 create mode 100644 src/main/resources/application.properties
 create mode 100644 src/test/java/org/yyama/demo/DemoApplicationTests.java


では、Heroku のほうのセットアップに移ります。

[ heroku create ] と入力し、Heroku 側でアプリケーションを受け入れられるようにします。出力にあるように[ https://fast-taiga-15372.herokuapp.com/ ]がこのアプリへの URL になります。

C:\workspace\demo>heroku create
Creating app... done, fast-taiga-15372
https://fast-taiga-15372.herokuapp.com/ | https://git.heroku.com/fast-taiga-15372.git

この時点で Heroku の自分のダッシュボードには、アプリが表示されるようになります。
f:id:yyama1556:20170922122304p:plain

続いてコマンドプロンプトで [ git push heroku master ]と入力すると、ずらずらとログが吐かれてデプロイが行われます。

C:\workspace\demo>git push heroku master
Counting objects: 26, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (26/26), 46.71 KiB | 0 bytes/s, done.
Total 26 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Java app detected
remote: -----> Installing OpenJDK 1.8... done
remote: -----> Executing: ./mvnw -DskipTests clean dependency:list install
remote:        /tmp/build_a5c941b997d2cd319183cfbb0da9e662
remote:        Downloading https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip
remote:        ..................................................................................................................................................................................................................................................................................................................................................................................................................................................
remote:        Unzipping /tmp/build_a5c941b997d2cd319183cfbb0da9e662/.m2/wrapper/dists/apache-maven-3.5.0-bin/6ps54u5pnnbbpr6ds9rppcc7iv/apache-maven-3.5.0-bin.zip to /tmp/build_a5c941b997d2cd319183cfbb0da9e662/.m2/wrapper/dists/apache-maven-3.5.0-bin/6ps54u5pnnbbpr6ds9rppcc7iv
remote:        Set executable permissions for: /tmp/build_a5c941b997d2cd319183cfbb0da9e662/.m2/wrapper/dists/apache-maven-3.5.0-bin/6ps54u5pnnbbpr6ds9rppcc7iv/apache-maven-3.5.0/bin/mvn
remote:        [INFO] Scanning for projects...

~~~ (略) ~~~

remote:        [INFO] ------------------------------------------------------------------------
remote: -----> Discovering process types
remote:        Procfile declares types     -> (none)
remote:        Default types for buildpack -> web
remote:
remote: -----> Compressing...
remote:        Done: 60.7M
remote: -----> Launching...
remote:        Released v3
remote:        https://fast-taiga-15372.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/fast-taiga-15372.git
 * [new branch]      master -> master

では、[ https://fast-taiga-15372.herokuapp.com/ ]にアクセスしてみます。

f:id:yyama1556:20170922121124p:plain


Heroku 向けの設定なども非常に簡単でした。
これでアプリが全世界に公開できました。

最後にアプリ名を変更してみましょう。

コマンドプロンプトで、「heroku rename アプリ名」と入力します。するとアプリの名前や アプリの URL、および Heroku の git リモートアドレスが自動で変更できます。ここではアプリ名は「hello-heroku-yyama」としました。これでアプリの URL は
https://hello-heroku-yyama.herokuapp.com/ に変更されました。しばらく置いておくのでアクセスしてみてください。


アプリ名はグローバルで一意な必要があるみたいで、誰かがすでに使用している場合「Name is already taken」と怒られます。


今日はここまで。でわ。

プロフェッショナルのための 実践Heroku入門 プラットフォーム・クラウドを活用したアプリケーション開発と運用 (書籍)

プロフェッショナルのための 実践Heroku入門 プラットフォーム・クラウドを活用したアプリケーション開発と運用 (書籍)

HerokuではじめるRailsプログラミング入門

HerokuではじめるRailsプログラミング入門

LINE BOTを作ろう!  Messaging APIを使ったチャットボットの基礎と利用例

LINE BOTを作ろう! Messaging APIを使ったチャットボットの基礎と利用例