「Java/Tomcat/warファイルをdotcloudにデプロイ」の編集履歴(バックアップ)一覧に戻る

Java/Tomcat/warファイルをdotcloudにデプロイ - (2013/03/17 (日) 02:03:55) のソース

* Windowsで開発したTomcatのアプリをwarファイルにして、ubunts12.04を入れたVMからdotcloudにデプロイする。

Tomcatでサーブレットを触ってみたら、dotcloudにTomcatで作ったwebアプリをデプロイしてみたくなって、簡単に出来るだろうと思ってたら意外と苦労しました。

アプリの開発は[[サーブレットを作ってみる>Java/Tomcat/サーブレットを作ってみる]]参照
warファイルの作成は[[【Java】EclipseでTomcatプロジェクトのWARファイルを作成 | cozzbox>http://www.cozzbox.com/wordpress/archives/798]]参照
Dotcloudの環境設定は[[dotCloud - Installing the CLI>http://docs.dotcloud.com/firststeps/install/]]参照

* ディレクトリ作成
まず、ホームディレクトリに「dotcloud/tomcat/first」ってディレクトリを作成します(自分の好きなディレクトリでよいです)
コマンド例
#Highlight(){{
mkdir -p ~/dotcloud/tomcat/first
cd ~/dotcloud/tomcat/first}}

* dotcloudのアプリ作成
「dotcloud create ~」で、dotcloud側にアプリを作成します。
既に作成しているアプリとディレクトリを紐付ける場合は、「dotcloud connect ~」になるのではないかと思います。
コマンド例
#Highlight(){{{
dotcloud create first
==> Creating a sandbox application named "first"
==> Application "first" created.
Connect the current directory to "first"? [Y/n]: y
==> Connecting with the application "first"
==> Connected with default push options: --rsync}}}
途中の選択肢はyでいいと思います。
英語の文章をなんとなくみた感じだと、ここのディレクトリと「first」アプリを紐付けちゃうよ?って意味だと思いました。

* dotcloud.yml作成
「~/dotcloud/tomcat/first/dotcloud.yml」を作成します。
コマンド
#Highlight(){{
nano dotcloud.yml}}

内容
#Highlight() {{
www:
  type: java }}
「dotcloud.yml」の内容はこれだけでやりました、
「approot:~」をつけたら上手く出来なかったのですorz

* warファイルアップロード
FFFTPで、VMの「~/dotcloud/tomcat/first/」に[[Java/Tomcat/サーブレットを作ってみる]]で作ったアプリのwarファイルをアップロードします。
アップロードしたwarファイルは「ROOT.war」に変更します。
ROOT.war以外だと上手く行きませんでした…不思議orz

* warファイルのデプロイ
「dotcloud push」で、warファイルをdotcloudのアプリに向かってプッシュします。
アプリを修正したら、またここのディレクトリに置いてプッシュすればいいみたいです。
#highlight(){{
$ dotcloud push
==> Pushing code with rsync from "./" to application first
building file list ... done
./
ROOT.war
dotcloud.yml
.dotcloud/
.dotcloud/config

省略

==> Application is live at http://first-chapati.dotcloud.com
}}

最後に表示されたURLにアクセスすると、ちゃんと[[Java/Tomcat/サーブレットを作ってみる]]で作った画面が表示されました。