LoginSignup
6
6

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-05-27

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

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

Heroku の準備

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

image

デプロイの準備

  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

image.png

また、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] BUILD SUCCESS
       [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

あとは、簡単なシーケンス図や、オブジェクト図が表示できればOKです。

参考

6
6
0

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
6
6