Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Heroku で PlantUML サーバーを立ててみた

この記事で作成したアプリで使用している PlantUML サーバーを Heroku で立てたので、手順をまとめておきます。

2017/09/20 追記
本家が jetty-runner に対応したため、webapp-runner は不要になりました。

Heroku の準備

  1. Heroku のアカウント作成
  2. 画面に沿って新規アプリ作成
  3. Buildpacks は Java を選択 (4 と同じタイミングでも可)
  4. Settings の Buildpacks に graphviz を追加



  1. plantuml-server を clone
  2. Heroku にデプロイ( push )する前に以下の修正を行います。
    1. Procfile を新規追加する。
    2. pom.xml に webapp-runner を追加します。詳細はこちら jetty-runner についてはこちら
    3. .fonts 以下にフォントを追加します。(無難に IPAexフォントにしました。フォントがないと日本語が表示できません。)
  3. Heroku CLI をインストール ( mac なら brew install heroku )
  4. heroku git:remote -a アプリ名 を実行し、リモートブランチとして heroku のアプリを指定。
  5. git push heroku master で heroku へデプロイします。


Resources は以下のようになっていれば OK


また、Build log が以下のようになります。

-----> Java app detected
-----> Installing OpenJDK 1.8... done
-----> Installing Maven 3.3.9... done
-----> Executing: mvn -DskipTests clean dependency:list install

<中略> 依存関係のダウンロード等 ( plantuml.war のビルド、jetty-runner のダウンロード etc )

       [INFO] ------------------------------------------------------------------------
       [INFO] ------------------------------------------------------------------------
       [INFO] Total time: 13.995 s
       [INFO] Finished at: 2017-03-26T00:55:20+00:00
       [INFO] Final Memory: 32M/231M
       [INFO] ------------------------------------------------------------------------
-----> Graphviz app detected
-----> Installing Graphviz version 2.36.0
       (Ubuntu package graphviz_2.36.0-0ubuntu3.1_amd64.deb)
-----> Graphviz binaries in /app/graphviz/bin and added to PATH
-----> Discovering process types
       Procfile declares types -> web
-----> Compressing...
       Done: 73.1M
-----> Launching...
       Released バージョン
       https://アプリ名.herokuapp.com/ deployed to Heroku



Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
Help us understand the problem. What are the problem?