Translate

2012年7月11日水曜日

EclipseプラグインからCloud Foundry環境へデプロイする方法を調べる

Cloud Foundry環境へデプロイする方法について知らないと
PaaSとして利用できないので該当しそうな公式文書を探したら
どうもこれっぽいので読んでみた。

Deploying Applications and Binding Services using Cloud Foundry Integration for Eclipse


なるほどSpringSource Tool Suiteを使ってもいいし
Eclipseにプラグインを入れて開発デプロイしてもいいのか。
Micro Cloud FoundryやパブリックPaaSごとにサーバを設定して
開発プロジェクトをドラッグするとターゲットとなる環境で実行できるらしい。


読んだ文章の日本語訳は以下のとおりですが、
これはかなり慌てて本なくしたのでミスも多いと思います。
他の記事同様ay your own riskでお願いします。







Cloud Foundrry Integration for Eclipseを用いたアプリケーションのデプロイおよびサービス構築

  • タグ: eclipsests
  • 最終更新日:2012/06/11

サブトピックス
  • Cloud Foundryターゲットを新規サーバとして定義
  • STS/EclipseからCloud Foundryへのアプリケーションデプロイ
  •  アプリケーションサービスの定義
  •  アプリケーションサービスのバインド
  • アプリケーションの更新および再起動

Cloud Foundry Integration for Eclipseを使ってCloud Foundryへアプリケーションをデプロイする場合、まず最初にCloud Foundaryターゲットを定義しなくてはなりません。一度定義すると、以後EclipseのServersビューに表示され、Eclipse Project Explorerからアプリケーションをドラッグアンドドロップすることでアプリケーションをデプロイできます。


Cloud Foundryターゲットを新規サーバとして定義

STS/Eclipseにて、Cloud Foundryターゲットを表す新規サーバを定義してからアプリケーションをデプロイします。

以下の手順にしたがって、新規サーバを定義します。

  • Window(ウィンドウ)>Show View(ビューの表示)>Servers(サーバ) を選択します
  • 新規サーバウィザードをクリックするか、Servers(サーバ)ビュー上の何もない場所で右クリックし New(新規)>Server(サーバ)を選択します

 
新規サーバ定義ウィザードを開始します

  • VMwareフォルダを展開し、Cloud Foundryを選択します


  • Cloud Foundryサーバインスタンスの表示名を定義します。Server host name(サーバのホスト名)欄は"localhost"でなければなりません。Next(次へ)をクリックします。

  • Cloud Foundryターゲットに合わせてURLリストを選択します
  • VMware Cloud Foundry:VMwareホストされたオープンPaaS
  • Local Cloud:ローカル設置したVMwareクラウドアプリケーションプラットフォーム(VCAP)
  • Microcloud:Micro Cloud Foundry仮想マシン

  • Microcloudを選択した場合、Cloud Foundryサイトhttp://cloudfoundry.com/microにて登録したドメイン名と記述名を入力します

  • OKをクリックします
  • Cloud Foundryターゲットの電子メールアドレスおよびパスワードを入力します
  •  VMware Cloud Foundryターゲットの場合、電子メールを事前登録しておかなければなりません。"CloudFoundry.com Signup"ボタンは事前に電子メール登録したユーザを許可します。
  • ローカルクラウドもしくはMicrocloudがターゲットの場合、事前に登録した電子メールか登録する新たな電子メール及びパスワードを使って下さい。そしてRegister Accountボタンを押してください。
"Validate Account"ボタンを押してアカウントの妥当性を確認します
  • Finish(完了)をクリックして下さい。
新規のCloud FoundryターゲットがServers(サーバ)ビューに表示されます。


STS/EclipseからCloud Foundryへデプロイ

Cloud Foundry Integration ExtensionはEclipse Web Tools Project(WTP)サーバ基盤を使用しており、Java Webアプリケーションをリモートサーバへデプロイします。

アプリケーションのデプロイを行うには3つのステップがあります。

  • アプリケーション詳細の定義
  • アプリケーションサービスの定義
  • アプリケーションサーバのバインド

後ろの2つのステップは、MySQLやvFablic Postgres データベース、RabbitMQメッセージングなどのCloud Foundryサービスを使用するアプリケーションのみ必須となります。


アプリケーション詳細の定義

  • STS/Eclipse上からWindows(ウィンドウ)>Show View(ビューの表示)>Servers(サーバ)を選択し、Servers(サーバ)ビューを表示する

サーバの真下に、存在する場合は、サーバ現在デプロイ済みのアプリケーションが表示されています。
  • アプリケーションのデプロイのために、アプリケーションをServers(サーバ)ビューのターゲットとなるCloud Foundryサーバまでドラッグします

かわりに、サーバ上でダブルクリックして、Cloud Foundryエディタを開いてApplications(アプリケーション)タブにてアプリケーションをドラッグアンドドロップしても構いません。

Cloud Foundry Integration Extensionはアプリケーションタイプを調べ、選択したCloud Foundryサーバへデプロイ可能か確認します。もしデプロイ可能であれば、アプリケーションの設定やオプションのサービスのバインドを行うアプリケーション詳細ウィザードを表示します。サポートしているアプリケーションタイプは、Spring、Grails、Lift、Java Webを含んでいます。

  • 望むのであれば、アプリケーション名を変更し、誤ったアプリケーションフレームワークとして認識している場合はアプリケーションタイプを選択します。そしてNext(次へ)をクリックします。

ノート
ここでのアプリケーション名は管理のためのアプリケーションの識別のためにだけ使用されます。名前は、ウィザードの次のページ上にセットされているアプリケーションのURLとして表示されます。


  • 必要に応じて、"Deployed URL"を編集し、"Memory Reservation"を変更します
Deployed URLはターゲットとなるCloud Foundryの中で一意でなくてはなりません。

  • サービスのバインドが必要であれば、Next(次へ)をクリックしてデプロイの前にバインドします。もしくは、Start application on deploymentを非選択にしてデプロイ後にCloud Foundryサーバエディタを使ってサービスをバインドしてください。
  • オプション操作としてユーザはNext(次へ)を選択してデプロイ前にサービスのバインドを行ったとしても、Finish(完了)をクリックして下さい。
アプリケーションがデプロイされます。もし"Start application on deployment"を選択しているのであれば、アプリケーションが開始されており、マップされているURLからアクセスすることができます。デバッギングをサポートしているMicrocroudもしくはローカルにデプロイしている場合は、追加オプションとしてデバッグモードで実行されているアプリケーションが表示されます。


  • Next(次へ)をクリックして、既存サービスがアプリケーションにバインドされ、もしくは追加されたサービスが定義・バインドされます。

  • デプロイ後、Servers(サーバ)ビューにて、アプリケーションをダブルクリックしてエディタを開きアプリケーションの状態を表示したり、コントロールの起動・停止・再起動、アプリケーションの更新・再起動、アプリケーション設定やサービスのバインドの変更などを実行できます。



アプリケーションサービスの定義

サービスのバインドやアプリケーションのデプロイの前にサービス定義を行う必要があります。Cloud Foundry Integration extensionは、ターゲットとなるCloud Foundryから有効なサービスのカタログを照会しますサービス定義語、アプリケーションにバインドすることができます。アプリケーションが停止している場合、サービスはデプロイ中のアプリケーション詳細ウィザードや、デプロイ後のCloud Foundryサーバエディタからバインドすることができます。

以下のステップでエディタからサービスを定義します。

  • Servers(サーバ)ビューから、アプリケーション名をダブルクリックします


Applications(アプリケーション)タブにCloud Foundryターゲット上のアプリケーションの詳細が表示されます。

  • Services(サービス)セクションから、Add service(サービス追加)アイコンをクリックします

  • 新規サービスの名前を入力し、サービスタイプを選択します

タイプリストには、ターゲットとなるCloud Foundry上の有効なすべてのサービスタイプで構成されています。

  • Finish(完了)をクリックします

プラグインはCloud Foundryからサービスを要求し、新規サービスがServices(サービス)セクション上に表示されます。


アプリケーションサービスのバインド

サービスをバインドする場合、Cloud Foundry Integration extensionは定義されたサービスがアクセスするアプリケーション設定ファイルを更新します。アプリケーションはバインド時実行中である必要はありません。

  • もし実行中の場合、アプリケーションをストップします:
  • Servers(サーバ)ビューの、アプリケーション名上で右クリックしてStop(停止)を選択するか、Cloud FoundryサーバエディタのApplicatons(アプリケーション)パネルからアプリケーションを選択してStopボタンをクリックします。
  • Applications(アプリケーション)パネルにて、バインド対象のアプリケーションを選択します。

  • Services(サービス)パネルにてバインドしたいサービスを選択して、Application Servicesパネルへドラッグします

  • Start(開始)ボタンをクリックします

アプリケーションの更新および再起動

Cloud FoundryエディタのApplications(アプリケーション)タブは、ユーザに対して、メモリ、実行インスタンス数、マップされたアプリケーションURL、起動、停止、再起動、アプリケーションの更新と再起動などのアプリケーションの詳細の修正を許可します。


通常の更新と再起動

Servers(サーバ)ビューのRestartボタンやコンテキストメニューアクションを使って、ユーザはアプリケーションの更新のプッシュなしに再起動を実行できます。もしくはデプロイ済みのアプリケーションの変更を更新やUpdateやRestartオプションを使って再起動することができます。

更新や再起動はローカルの変更を徐々に増加しながら発行し、最後の発行以来変更されたリソースをプッシュするときだけ最適化されます。

アプリケーションの停止や開始はすべての発行を実行します。


1 件のコメント:

師子乃 さんのコメント...

こんばんは。

良く見かけた機能ですが、実際には使ったことなかったです。

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...