38
Java 開開開開Iron Foundry 開開開 #cfcrjp Cloud Foundry 輪輪輪 輪 5 輪 @tanaka_733

120315 cloud founry_java_ironfoundry

  • Upload
    -

  • View
    834

  • Download
    2

Embed Size (px)

DESCRIPTION

The 5th Cloud Foundry Code Reading in Japan.How to deploy to Cloud Foundry from Jenkins using Maven plugin for Cloud Foundry.Remote Debugging new feature in Micro Cloud Foundry.Short introduction for IronFoundry.

Citation preview

Page 1: 120315 cloud founry_java_ironfoundry

Java 開発ネタ+Iron Foundry の紹介

#cfcrjp Cloud Foundry 輪読会 第 5 回@tanaka_733

Page 2: 120315 cloud founry_java_ironfoundry

Twitter: @tanaka_733 ブログ : 銀の光と碧い空 ごった煮なブログ

◦ Silverlight◦ Node.js◦ Azure◦ KINECT◦ Windows Phone 7◦ Tomcat◦ etc…

自己紹介

2012/3/15第 5 回 Cloud Founry 輪読会 2

Page 3: 120315 cloud founry_java_ironfoundry

こんな Tweet が流れたので・・・

2012/3/15第 5 回 Cloud Founry 輪読会 3

Jenkins から Cloud Foundy へ Push するネタに力を入れました

Page 4: 120315 cloud founry_java_ironfoundry

vcap/java-client を使って

Jenkins から push してみる

Maven Plugin を使ってみる

2012/3/15第 5 回 Cloud Founry 輪読会 4

Page 5: 120315 cloud founry_java_ironfoundry

ビルドとかテストとかめんどいですね そこで Jenkins を使う Jenkins でテストが通ったらデプロイすればいい あれ、 CloudFoundry のアプリの場合、どうすん

の?

Java で CI といえば Jenkins

2012/3/15第 5 回 Cloud Founry 輪読会 5

Page 6: 120315 cloud founry_java_ironfoundry

GitHub で公開◦https://

github.com/cloudfoundry/vcap-java-client 内容は 2 つ

◦cloudfoundry-client-lib RestTemplate を使った VMC の Java 版クライ

アント◦cloudfoundry-maven-plugin Maven Plugin として使えるクライアント cloudfoundry-client-lib を使用

vcap/java-client

2012/3/15第 5 回 Cloud Founry 輪読会 6

Page 7: 120315 cloud founry_java_ironfoundry

Windows7 上に構築◦Git を入れておく

Jenkins に git plugin を入れておく JDK のセットアップ

◦JDK1.6u30 を使用◦パスの手動指定推奨

Maven のセットアップ◦Maven2.2.1 を使用◦パスの手動指定推奨

Jenkins をセットアップ

2012/3/15第 5 回 Cloud Founry 輪読会 7

Page 8: 120315 cloud founry_java_ironfoundry

Jenkins をセットアップ

2012/3/15第 5 回 Cloud Founry 輪読会 8

Page 9: 120315 cloud founry_java_ironfoundry

git clone https://github.com/SpringSource/cloudfoundry-samples.git

この中にいろいろ sample があります 今回はシンプルな hello-java で

cloudfoundry-samples で試す

2012/3/15第 5 回 Cloud Founry 輪読会 9

Page 10: 120315 cloud founry_java_ironfoundry

Git を指定して入力◦Repo URL は file:///C:/ 形式で OK

Job を作成 (1)

2012/3/15第 5 回 Cloud Founry 輪読会 10

Page 11: 120315 cloud founry_java_ironfoundry

Maven の呼び出しで、 POM を指定 ゴールは clean package とりあえず一度実行して war ができるか

確認

Job を作成 (2)

2012/3/15第 5 回 Cloud Founry 輪読会 11

Page 12: 120315 cloud founry_java_ironfoundry

Maven の呼び出しを追加 ゴールは cf:push プロパティで target, アカウント , パス

ワードを指定

Job を作成 (3)

2012/3/15第 5 回 Cloud Founry 輪読会 12

Page 13: 120315 cloud founry_java_ironfoundry

なぜかプロジェクトページの設定は間違っている◦https://

github.com/cloudfoundry/vcap-java-client/tree/master/cloudfoundry-maven-plugin

◦ソースを読んだり、リポジトリを見て修正!◦詳細は次ページ

ローカルの修正でも git add と  git commit すること!

pom.xml を追記して push させる

2012/3/15第 5 回 Cloud Founry 輪読会 13

Page 14: 120315 cloud founry_java_ironfoundry

<build>

<plugins>

<plugin>

<groupId>org.cloudfoundry</groupId>

<artifactId>cf-maven-plugin</artifactId>

<version>1.0.0.M1</version>

<configuration>

<server>mycloudfoundry-instance</server>

<target>http://api.cloudfoundry.com</target>

<appname>hello-spring773</appname>

<url>hello-spring773.cloudfoundry.com</url>

<memory>512</memory>

</configuration>

</plugin>

</plugins>

</build>

<pluginRepositories>

<pluginRepository>

<id>repository.springframework.maven.milestone</id>

<name>Spring Framework Maven Milestone Repository</name>

<url>http://maven.springframework.org/milestone</url>

</pluginRepository>

</pluginRepositories>

正しい pom.xml の追記部分

2012/3/15第 5 回 Cloud Founry 輪読会 14

Page 15: 120315 cloud founry_java_ironfoundry

無事 push できました

2012/3/15第 5 回 Cloud Founry 輪読会 15

Page 16: 120315 cloud founry_java_ironfoundry

他にも、 VMC のコマンドは一通りたたけるらしい

2 回目以降は cf:update で

2012/3/15第 5 回 Cloud Founry 輪読会 16

Page 17: 120315 cloud founry_java_ironfoundry

Java Remote Debugging と

そのソースコードRemote Debug できれば最強?

2012/3/15第 5 回 Cloud Founry 輪読会 17

Page 18: 120315 cloud founry_java_ironfoundry

Micro Cloud Foundry の最新版本家 Cloud Foundry.com でもその

うちという期待・・・

Java の Remote Debugging が可能に

2012/3/15第 5 回 Cloud Founry 輪読会 18

Page 19: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 19

Java Web プロジェクトを作成してデバッグポイントを指定

Page 20: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 20

STS のプラグインから CreateStart はしない

Page 21: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 21

Restart のとなりからデバッグ起動

Page 22: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 22

アクセスすると見事にブレーク!

Page 24: 120315 cloud founry_java_ironfoundry

デバッグモード指定時にJAVA_OPTS でデバッグを指定している

その他の変更はデバッグ可・不可のフラグと、デバッグモードのフラグ・・・のはず

要は vcap / dea / config / dea.yml

2012/3/15第 5 回 Cloud Founry 輪読会 24

Page 25: 120315 cloud founry_java_ironfoundry

Iron Foundry.NET が動く PaaS

2012/3/15第 5 回 Cloud Founry 輪読会 25

Page 26: 120315 cloud founry_java_ironfoundry

.NET が動く PaaS◦他には Windows Azure◦AppHarbor など

http://www.ironfoundry.org/ Tier3 提供 Cloud Foundry を拡張 Mono ではなくて、Micorosoft .NET Framework

Iron Foundry を知ってますか

2012/3/15第 5 回 Cloud Founry 輪読会 26

Page 27: 120315 cloud founry_java_ironfoundry

対応言語 (Runtime)◦ ASP.NET 4.0◦ Python 2.6.5◦ Java 6◦ Ruby 1.8.7◦ Ruby 1.9.2◦ PHP 5◦ Erlang R14B02◦ Node 0.4.5

対応サービス (Service)◦ mongodb 1.8◦ MS SQL Server 10.50.2500◦ redis 2.2

幅広い対応言語

2012/3/15第 5 回 Cloud Founry 輪読会 27

Page 28: 120315 cloud founry_java_ironfoundry

http://www.ironfoundry.org/download Micro Iron Foundry Droplet Execution Agent .NET

◦ .NET 製 DEA 、 IIS に対応 Developer Tools

◦ Cloud Foundry Explorer WPF 製の管理コンソール。結構便利

◦ Visual Studio Extension VS 拡張で push できる。けど、 VS pro 以上しか使えない。

◦ VMC .NET .NET 版 VMC

2012/3/15第 5 回 Cloud Founry 輪読会 28

いろんなツールを出しています

Page 29: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 29

Cloud Foundry Explorer

Page 30: 120315 cloud founry_java_ironfoundry

WPF 製の GUI クライアント サービスのバインド、 URL マッピングなど

一通りの機能はそろっている 複数のクラウドを同時に表示できる

◦ Cloud Foundry◦ Iron Foundry◦ My Cloud Foundry◦ Micro Cloud Foundry

いんちき WPF アプリが多い中、UI パターン的にも基本に忠実な実装になっている

2012/3/15第 5 回 Cloud Founry 輪読会 30

Cloud Foundry Explorer

Page 31: 120315 cloud founry_java_ironfoundry

普通に ASP .NET 4.0 アプリを作成◦ 無償の VS Web Developer Express で作成できます◦ ASP .NET でも ASP .NET MVC でも Silverlight で

もいいよ プロジェクトを作成したら、リリースビルド プロジェクトフォルダーを指定して push

2012/3/15第 5 回 Cloud Founry 輪読会 31

ASP .NET アプリを push

Page 32: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 32

Release ビルドを指定

Page 33: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 33

push

Page 34: 120315 cloud founry_java_ironfoundry

Micro Cloud Foundry の Iron Foundry 版 http://

help.ironfoundry.org/entries/20950013-micro-cloud-documentation-v1-0-0

Windows Server 2008 R2 Standard Edition◦ ライセンスキーなしの評価版◦ メモリ 1GB で動く◦ HDD は 24GB

Micro Cloud Foundry の導入が必須 Micro Cloud Foundry と同時に動かす必要あり?

◦ 試したものの、まだ動いていないです・・・◦ とりあえす途中経過をおいておきます

2012/3/15第 5 回 Cloud Founry 輪読会 34

Micro Iron Foundry

Page 35: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 35

パスワード設定

Page 36: 120315 cloud founry_java_ironfoundry

2012/3/15第 5 回 Cloud Founry 輪読会 36

C:\IronFoundry\setup\RunSetup.cmd を起動

Page 37: 120315 cloud founry_java_ironfoundry

入力すると、接続できるはずが、なぜか接続に失敗

原因と対応は調査中・・・ ちなみに、 Micro CF とは違って、

普通に Windows Server としてログインしています

2012/3/15第 5 回 Cloud Founry 輪読会 37

Micro CF の ID とパスワードを入力

Page 38: 120315 cloud founry_java_ironfoundry

ご清聴ありがとうございました

2012/3/15第 5 回 Cloud Founry 輪読会 38