#chiroito ’s blog

Java を中心とした趣味の技術について

Spring Boot on Oracle Application Container Cloud Service

Oracle Application Container Cloud Service (ACCS) は Java、Node、PHP で書かれた任意のアプリケーションを実行できるクラウドサービスです。
Application Container Cloud | ACC | Oracle Cloud

作成したアプリケーションに加え、アプリケーションをどの様に動かすかを記述した設定ファイルをアーカイブして、ACCSへデプロイすることでアプリケーションを実行します。

アプリケーションを動かすまでに必要な手順は以下の 3 ステップです。

  1. アプリケーションの作成
  2. アーカイブの作成
  3. デプロイ

アプリケーションの作成

今回はこちらを参考に作成したアプリケーションを実行します。
cf-workshop/deploy-application_java.md at master · Pivotal-Japan/cf-workshop · GitHub
このアプリケーションにアクセスすると、ブラウザ上に Hello World の文字列を表示します。

このアプリケーションのソースコードをコピーしてからパッケージングします。 アプリケーションのソースコードは Github から git コマンドでコピーします。コピーしたソースコードは Maven を使用してパッケージングします。

> git clone https://github.com/chiroito/sandbox-accs.git sandbox-accs

Cloning into 'sandbox-accs'...
POST git-upload-pack (150 bytes)
remote: Counting objects: 29, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 29 (delta 1), reused 25 (delta 1), pack-reused 0
Checking connectivity... done.

Success (3188 ms @ 2017/03/26 15:58:42)

> cd sandbox-accs/hello-accs

> ./mvnw package -Dmaven.test.skip=true
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
(略)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.862 s
[INFO] Finished at: 2017-03-26T15:57:49+09:00
[INFO] Final Memory: 28M/225M
[INFO] ------------------------------------------------------------------------

> ls target/hello-accs-0.0.1-SNAPSHOT.jar
target/hello-accs-0.0.1-SNAPSHOT.jar

アーカイブの作成

ACCSではアプリケーションを実行する方法を記述した設定ファイルをアーカイブに含めます。 今回は、先ほど作成したアプリケーションを Java SE 8 を使用して実行します。

この設定はmanifest.jsonという名前のファイルに記述します。使用する Java のバージョンは 8 で、アプリケーションの実行方法はjava -jar hello-accs-0.0.1-SNAPSHOT.jarです。このファイルは Github から落としたソースファイルに含めています。

manifest.json

{
    "runtime": {
        "majorVersion": "8"
    },
    "command": "java -jar hello-accs-0.0.1-SNAPSHOT.jar"
}

これで設定ファイルの作成が終わりです。あとはアプリケーションと設定フィルを 1 つのファイルにまとめるとアーカイブは完了です。 今回は zip コマンドで1つのファイルにまとめます。

hello-accs> zip -j hello-accs.zip manifest.json target/hello-accs-0.0.1-SNAPSHOT.jar
  adding: manifest.json (164 bytes security) (deflated 18%)
  adding: hello-accs-0.0.1-SNAPSHOT.jar (164 bytes security) (deflated 11%)

デプロイ

ACCSにログインしてアーカイブをデプロイします。
Sign In To ORACLE CLOUD

ACCSは以下のリンクからトライアルできます。
Get a trial or subscription Single Sign-On

画面の右側にある Create Application からアプリケーションを作成します。 f:id:chiroito:20170326164920p:plain

Java, Node, PHP のどのアプリケーションを作成するか選択します。今回は一番左のJava SEのアプリケーションを作成します。
f:id:chiroito:20170325224116p:plain

アプリケーションの情報を入力し、アプリケーションをアップロードします。
f:id:chiroito:20170325224053p:plain

これで作成の手続きは終わりです。
f:id:chiroito:20170325224131p:plain

ACCS のインスタンスが作成手続きが終わるとこのような画面に遷移します。上の方にアプリケーションへアクセスする URL があります。この URL には各々のアイデンティティドメイン名が含まれるため、使用しているアイデンティティドメインによって URL は異なります。 f:id:chiroito:20170325225215p:plain

左上のマークに砂時計が付いている時点ではまだインスタンスを作成中です。
f:id:chiroito:20170325224155p:plain

インスタンスが作成し終わると作成したアプリケーションにアクセス出来るようになり、画面上の URL がクリック出来るようになります。 f:id:chiroito:20170325225221p:plain

参考情報

Oracle Application Container Cloud Service
Oracle Application Container Cloud Service - Get Started

API Catalog Cloud Service Oracle Application Container Cloud Service
Oracle API Catalog Cloud Service

PaaS Service Manager Command Line Interface Reference
psm accs Commands