* 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/サーブレットを作ってみる]]で作った画面が表示されました。