「Java/Tomcat/warファイルをdotcloudにデプロイ」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
* Windowsで開発したTomcatのアプリをwarファイルにして、ubunts12.04を入れたVMからdotcloudにデプロイする。
Tomcatでサーブレットを触ってみたら、dotcloudにTomcatで作ったwebアプリをデプロイしてみたくなって、簡単に出来るだろうと思ってたら意外と苦労しました。
* 目次
- アプリケーションの作成
- アプリケーションをwarファイルにする
- dotcloudにアプリケーション作成
アプリの開発は[[サーブレットを作ってみる>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
※dotcloudにwarファイルをデプロイすると、通常「http://first-chapati.dotcloud.com/warファイルの名前/」がアプリのルートディレクトリになるのですが、ファイル名を「ROOT.war」にすると、「warファイルの名前」の部分が不要になる便利な裏ワザみたいです。
* 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/サーブレットを作ってみる]]で作った画面が表示されました。
Tomcatで作成したwebアプリは、Tomcat以外のサーブレットコンテナ(JBoss、Geronimo、Websphere、Jettyなど)でも基本的に動く物らしいです。
dotcloudには、サーブレットコンテナとして「Jetty」が入っているからwarファイルをデプロイ出来るみたいでした。
#inc(Java/Tomcat/サンプル)
* コメント
#pcomment(reply)
* Windowsで開発したTomcatのアプリをwarファイルにして、ubunts12.04を入れたVMからdotcloudにデプロイする。
Tomcatでサーブレットを触ってみたら、dotcloudにTomcatで作ったwebアプリをデプロイしてみたくなって、簡単に出来るだろうと思ってたら意外と苦労しました。
* 目次
- アプリケーションの作成
- アプリケーションをwarファイルにする
- VMにwarファイルアップロード
- dotcloudにアプリケーション仮作成
- アプリケーションをdotcloudに送信
アプリの開発は[[サーブレットを作ってみる>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
※dotcloudにwarファイルをデプロイすると、通常「http://first-chapati.dotcloud.com/warファイルの名前/」がアプリのルートディレクトリになるのですが、ファイル名を「ROOT.war」にすると、「warファイルの名前」の部分が不要になる便利な裏ワザみたいです。
* 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/サーブレットを作ってみる]]で作った画面が表示されました。
Tomcatで作成したwebアプリは、Tomcat以外のサーブレットコンテナ(JBoss、Geronimo、Websphere、Jettyなど)でも基本的に動く物らしいです。
dotcloudには、サーブレットコンテナとして「Jetty」が入っているからwarファイルをデプロイ出来るみたいでした。
#inc(Java/Tomcat/サンプル)
* コメント
#pcomment(reply)