IBM Bluemixwww.bluemix.net
IBM Bluemixそこが知りたい!
テクニカル・セミナー
日本アイ・ビー・エム システムズ・エンジニアリング株式会社ソフトウェア開発ソリューション古池 範充
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
1
© 2014 IBM Corporation2
IBM Bluemixwww.bluemix.net
ご注意
この資料は日本アイ・ビー・エム株式会社および日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりません。資料の内容には正確を期するよう注意しておりますが、この資料の内容は2014年09月現在の情報であり、製品の新しいリリース、修正などによって動作/仕様が変わる可能性があります。当資料は、資料内で説明されている製品の仕様を保証するものではありません。従って、この情報の利用またはこれらの技法の実施はひとえに使用者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても一切の補償をするものではありません。また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについてはhttp://www.ibm.com/legal/copytrade.shtmlをご覧ください。
© 2014 IBM Corporation3
IBM Bluemixwww.bluemix.net
�アプリケーション開発の課題とBluemix�Bluemixアプリケーションの開発環境パターン�BluemixとIBM DevOps Servicesによる開発の進め方�まとめ
Agenda
ポイント
• Bluemixアプリケーションの開発環境構築における選択肢と選択のポイントを理解する
• BluemixとIBM DevOps Servicesの連携によるアプリケーションの開発の流れとメリットを理解する
本セッションのアジェンダです。
本セッションではBluemixアプリケーションを開発するための環境、ツールやサービスに焦点を当て、アプリケーション開発現場における現状の課題とそこにおけるBluemixのソリューションとしての位置づけを簡単に確認した後、本セッションの2つのポイントについ
て前半:Bluemixアプリケーションの開発環境パターン、後半:BluemixとIBM DevOps Servicesによる開発の進め方という流れで説明します。
3
© 2014 IBM Corporation5
IBM Bluemixwww.bluemix.net
アプリケーション開発における様々な課題
アジャイル開発
Time toMaket
DevOps
ユーザーエクスペリエンス
最新テクノロジー活用
APIEconomy
継続的デリバリー
リーン・スタートアップ Mobile
First
アプリケーション開発の現場では様々な課題に直面しています。
最も重要な課題の一つとしてはTime to marketの短縮、すなわちアプリケーションやサービスを市場や顧客に提供するまでの時間をいかに短くするか、というのが挙げられま
す。
それを達成するためにアジャイル開発やリーン・スタートアップといった開発方法論や開
発手法を積極的に導入していくことが求められています。
一方で、アプリケーションそのものの機能や品質に対してのユーザーの要求もより厳しく
なっており、モバイル端末などのマルチデバイス対応やユーザーエクスペリエンスの向
上など、リリース後も市場やユーザーからのフィードバックを受けて継続的に改善してい
くことが求められています。
このような状況下で、最新テクノロジーや外部のサービスを活用しながら、DevOpsの開発原則およびその主要プラクティスの一つである継続的デリバリーのための環境をどの
ように構築していくか、といった課題への取り組みが重要性を増しています。
5
© 2014 IBM Corporation6
IBM Bluemixwww.bluemix.net
Security Services
Web and application services
Integration ServicesCloud
Mobile Services
Database services
Big Data services
Watson Services
PaaSをベースとして、速やかに実⾏基盤を⽤意し開発をスタート
様々なサービスを組み合わせてアイデアを素早く形に
IBM Bluemix:アプリケーション開発に注⼒するために
開発言語や開発ツールは豊富な選択肢から柔軟に選択可能
実⾏基盤とシームレスに統合された開発基盤クラウドサービスを提供
前頁の様々な課題に対する解の一つとしてIBM Bluemixが提供されています。
迅速なスタートアップを可能にするための実行基盤としてのBluemixの利点を示したのが上2つのBOXですが、開発基盤としての側面も重要です。その観点でBluemixの利点となるのが下2つのBOXということになります。
6
© 2014 IBM Corporation7
IBM Bluemixwww.bluemix.net
IBM DevOps Services (IDS)
�Bluemixと統合された開発基盤クラウドサービス�ブラウザベースの統合開発環境を提供�チーム開発や自動デプロイ機能のサポート�開発環境と実⾏環境を同時にクラウドから調達
Bluemix
初期投資を抑えサービスの迅速なスタートアップを支援初期投資を抑えサービスの迅速なスタートアップを支援
アプリケーション実行基盤としてのBluemixに統合された開発基盤用のクラウド・サービスがIBM DevOps Services(IDS)です。Webブラウザ上で動作する統合開発環境(Web IDE)やBluemix環境への自動デプロイ機能、チーム開発のための各種機能を提供する開発環境SaaS(Software as a Service)になります。
実行基盤だけでなくそれに統合された開発基盤を合わせてクラウドサービスとして提供
し、コストを抑えつつサービスの迅速なスタートアップを支援できる点はBluemixの提供する大きな価値の一つと言うことができます。
7
© 2014 IBM Corporation9
IBM Bluemixwww.bluemix.net
Bluemixアプリケーションの開発環境パターン�開発者のスキル、体制、好みに合わせて柔軟に開発環境を
構築することができる
①Eclipse+Bluemix Plugin
で開発
②CF Tool+各種エディタ+ツール
で開発③IBM DevOps Servicesで開発
⑤Bluemixアプリのテスト環境をローカルに構築
④IBM DevOps Servicesでチーム開発
<基本編>
<応⽤編>
Bluemixアプリケーションの開発においては様々なツールやサービスを開発者のスキル、体制などに応じて柔軟に組み合わせて開発環境を構成することが可能です。
本セッションでは、開発環境の構成について基本編3つ、応用編2つの計5つの構成パ
ターンを説明します。
9
© 2014 IBM Corporation10
IBM Bluemixwww.bluemix.net
①Eclipse+Bluemix Pluginで開発
�ローカル環境に導入したEclipse IDEにIBM Eclipse Toolsfor Bluemixを追加して開発を実施
Eclipse+Plugin
Bluemix App実装/ビルド/デプロイ
テスト
Push
ポイント• 既にEclipseを使⽤している開発者(特にJava)向け• Bluemixアプリケーションの各種操作が他のサーバー(WAS/Tomcat
など)と同様にできる• 使い慣れたEclipseおよび様々なPluginもそのまま使える
最初のパターンはEclipseにIBM Eclipse Tools for Bluemix Pluginを導入して開発を行うパターンです。
ローカルに導入したEclipse+Bluemix Plugin環境で実装、ビルドを行い、Pluginの機能を使ってBluemix環境へアプリケーションをデプロイ(Push)して確認、テストを行う形態です。
JavaEEアプリケーションを開発されている開発者の方の中にはまだまだEclipse(あるいはEclipseをベースとした統合開発環境)を使っておられる方も多いと思いますが、そのような方もスムーズにBluemix向けのアプリ開発を始めることができます。
10
© 2014 IBM Corporation11
IBM Bluemixwww.bluemix.net
IBM Eclipse Tools for Bluemix�Bluemixアプリケーション開発用のEclipseプラグイン
�Eclipse MarketPlaceなどから導入可能�Java7でのみ動作する
�ACEの代替としても使える豊富な機能�Bluemixアプリケーションのデプロイ、起動・停止など
�Liberty App(Java)、Node.js App(Javascript)に対応�サービスの追加、バインド�ログの参照、ファイル取得
<サーバービュー>
<サーバー構成>
IBM Eclipse Tools for Bluemixの説明になります。
アプリケーションのデプロイだけでなく、Bluemix上のアプリケーション・インスタンスの起動/停止やログの参照など、豊富な機能を提供します。
なおプラグインの導入方法は以下のサイトをご参照ください
https://developer.ibm.com/wasdev/downloads/#asset/tools-IBM_Eclipse_Tools_for_Bluemix
11
© 2014 IBM Corporation12
IBM Bluemixwww.bluemix.net
②CF Tool+各種エディタ+ツールで開発
�ローカル環境に導入したCF Toolと各種エディタやツールを組み合わせて開発を実施
エディタ+ツール
Bluemix App実装/ビルド
テスト
Push
ポイント• Eclipse以外のエディタやツールを使⽤している開発者(スクリプト言
語など)、コマンド操作やスクリプト作成が苦にならない開発者向け• ACEを使わずにBluemix環境に対する様々な操作ができる• 自分の好きなエディタやツールをそのまま使⽤できる
CF Tool
デプロイ
続いてはCFツールを導入して各種エディタやツールと組み合わせて開発を行うパターンです。
ローカルに導入したエディタやツールを組み合わせた環境で実装、ビルドを行い、CFツール(cf pushコマンド)を使ってBluemix環境へアプリケーションをデプロイ(Push)して確認、テストを行う形態です。
Eclipse以外のエディタやAnt、Gruntなどの各種ビルドツールによる慣れた環境を使いながらBluemixアプリケーションの開発を始めることが可能です。
12
© 2014 IBM Corporation13
IBM Bluemixwww.bluemix.net
�Cloud Foundryで利用するコマンド⾏ツール� BlueMixで必要な操作はほぼすべて実⾏可能
�コマンド⾏ツールでできること� アプリケーションに対する操作
�ランタイムに対するインスタンスの作成・起動・停止・削除�メモリー、インスタンス数の変更�ログの出⼒
� サービスに対する操作�サービスの作成・削除�ランタイムに対するバインド・アンバインド
� ルーティングに対する操作�アプリケーションに対するルーティングの変更 など
CF Tool
$ cf push [アプリケーション名] [オプション]
cf pushコマンドで全てのアプリケーションのデプロイが可能
コマンド⾏ツールにより他ツール連携や操作の自動化が可能
CFツールはBluemixに対するあらゆる操作をサポートするコマンド行ツールです。
当該パターンにおいては、cf pushコマンドで全てのアプリケーションのデプロイに対応できること、およびコマンド行ツールであるため他ツールとの連携や自作スクリプト等によ
る操作の自動化が比較的容易であることがポイントになります。
13
© 2014 IBM Corporation14
IBM Bluemixwww.bluemix.net
③IBM DevOps Servicesで開発
�IDSの提供するWeb IDEを使用してブラウザから開発(実装〜デプロイ)を実施
Bluemix App
テスト
Push
ポイント• 開発環境を作るところから始める開発者向け(Webブラウザがあれば開
発を始められる)• Bluemixアプリケーションの操作がWeb IDEからシームレスに⾏える• IDSの機能によりチーム開発にもスムーズに移⾏できる
実装/デプロイ DevOps Services
続いてはIBM DevOps Serviceを使用して開発を行うパターンです。
ローカルのWebブラウザからIDSのWeb IDEを使用して実装からデプロイまで実施する形態です。
ブラウザがあれば開発が可能ですので、既存の開発環境を持たず、環境を作るところ
からは始める開発者の方でもすぐにBluemixアプリケーションの開発を始めることが可能です。
また、IDSが備えるチーム開発の機能を活かして、チーム開発への移行の際もスムースに進められる点が特長です。
14
© 2014 IBM Corporation15
IBM Bluemixwww.bluemix.net
名称 説明
Web IDE Eclipse Orionをベースとしたブラウザ上で稼動する統合開発環境。多数の言語に対応したエディタを備える
Code Managementソースコード等の構成管理のためのリポジトリを備える。IDS上に
ホストされたGit、JazzSCMの他、GitHubとの接続も可能
Delivery PipelineBluemix環境向けにアプリケーションを自動的にビルド・デプロイ
するパイプライン機能を提供
Track and Planチーム開発におけるアジャイルベースの計画および作業管理を行
うための機能を提供(Rational Team Concertと同等)
IBM DevOps Services(IDS)
�Bluemixアプリ開発に最適化されたSaaS型開発環境�JazzHubとして提供していたサービスを2014年4月に名称変更�Webブラウザから全ての機能を利用可能�Bluemixアプリの継続的デリバリーをサポート�チーム開発のための機能がすぐに使える
<提供機能>
IBM DevOps Servicesは以前からJazzHubという名称で提供していたクラウド・サービスを2014年4月に名称変更および機能強化したものです。
主な提供機能は上記に記載の4つの機能(Web IDE、Code Management、DeliveryPipeline、Track and Plan)になります。これらの機能をフルに活用してチーム開発を行うパターンを次頁で示します。
15
© 2014 IBM Corporation16
IBM Bluemixwww.bluemix.net
④IBM DevOps Servicesでチーム開発
�個々の開発環境の自由度はそのままにリポジトリや実⾏環境をチームで共有
Bluemix Appテスト
Web IDE実装
DevOps Services
Push
CodeManagement
DeliveryPipeline
Track&Plan
ビルド/デプロイ
タスク管理
チェックイン/アウト
テスト
権限付与
実装タスク管理
チェックイン/アウトビルド/デプロイ
Leader
Member
続いては開発環境パターンの応用編の一つ目、IBM DevOps Servicesを活用してチーム開発を行うパターンになります。
ここでのポイントはIDSのプロジェクトとBluemixの実行環境(Org/Space)のチームメンバーをInviteしてアクセス権限を付与することで、ランタイムやソースコード管理、タスク管理のためのリポジトリをチーム内で共有できる環境が即座に用意できることです。
BluemixとIDSの連携により、チーム開発に必要な多くのタスク(計画~実装~ビルド~デプロイ~テスト~管理)の殆どをこの環境で賄うことが可能になります。
一方で各個人の開発作業についてはIDSの提供するWeb IDEを使用することは勿論可能ですが、IDSではRTCやGitのクライアントやプラグインからのアクセスもサポートしていますので、基本編の①や②のような環境で開発を行うことも可能です。結果、チー
ム開発においても各個人の環境についての自由度はできる限り保たれていることになり
ます。
16
© 2014 IBM Corporation17
IBM Bluemixwww.bluemix.net
BluemixとDevOps Servicesによるチーム開発
ポイント
• IDSのプロジェクトおよびBluemix ACEダッシュボードをチームメンバー間で共有することによりチーム開発環境構築を実現
• ソースコード管理、およびチームの作業計画やタスク管理はDevOps Servicesのリポジトリで⼀元管理(Git/JazzSCM、Track&Plan)
• リポジトリへのチェックインをトリガーにしたビルド、デプロイの自動化も可能(Delivery Pipeline)
• ブラウザ以外のClientツールからIDSのリポジトリへのアクセスも可能なのでメンバー各自の開発環境の自由度はそのままで
• 権限を付与されたメンバーもチームのBluemix Spaceに対してアプリのPushやStart/Stopが可能。個人/チーム⽤といったSpaceの使い分けもできる
当該パターンのポイントは上記に記載の通りです。
17
© 2014 IBM Corporation18
IBM Bluemixwww.bluemix.net
⑤Bluemixアプリのテスト環境をローカルに構築
�Bluemixアプリのテストをローカル環境で実施
Bluemix App
実装/ビルド/デプロイ
デプロイ/テスト
ポイント
• アプリの詳細なデバッグが必要な場合や、Bluemix環境へのデプロイ前にアプリの確認を⾏いたい場合の選択肢として検討
• ローカルPCやテストサーバーへのM/W導入やデプロイ機構を⽤意する• アプリが利⽤するサービスについて、VCAP_SERVICES環境変数や外
部からのアクセス可否の制約について考慮が必要
Bluemix App(local)
テスト(local)
Eclipse+Plugin
続いてはBluemixアプリケーションのテスト環境をローカルに構築するパターンです。
デバッガーを使用してデバッグしたい、テスト前のアプリをデプロイしたくない、cf Pushによるデプロイの待ち時間を更に短縮したい、これらのようなケースではローカルにアプ
リケーションのランタイムを構築するという選択肢を検討することになります。
ローカル環境で実装、ビルド、ローカルランタイムへのデプロイ、テストまで実施し、確認
が取れればBluemix環境へデプロイしてテストするという形態が想定されます。
ローカル環境にLiberty ProfileやNode.jsなどのランタイムを導入することによりアプリケーションの実行環境を用意することは可能ですが、アプリケーションからのサービス利用
に関連して考慮すべき事項がいくつかあります。(次頁で説明します)
18
© 2014 IBM Corporation19
IBM Bluemixwww.bluemix.net
ローカル環境でテストするための考慮点
�VCAP_SERVICES環境変数の取得方法�Bluemix環境では自動的に環境変数に設定される�OS環境変数への追加、ロジックで吸収などの考慮が必要
�サービスの外部アクセス可否�外部アクセス可能なサービスはローカル環境からアクセス�外部アクセス不可なサービス(SQLDB等)はローカル環境への
M/W導入などの考慮が必要
アプリケーション(Java, Node.js, etc…)アプリケーション
(Java, Node.js, etc…) サービスサービス
{
"mysql-5.5": {
:
"credentials": {
"name":
"d2fb3aadc04e84f02b4d79ef6fab5ff91",
"hostname": "75.126.23.246",
"password": "pFik1UbGvv7IR",
:}
VCAP_SERVICES環境変数の情報をどのように取得するか サービスは外部か
らアクセス可能か
BluemixアプリケーションをBluemix環境外であるローカル環境で稼動・テストする場合、サービス利用に関する部分が主な考慮点として挙げられます。
まずサービスにアプリケーションからアクセスする際にはVCAP_SERVICES環境変数から取得した接続情報(接続URLや認証情報)を利用してアクセスするのがBluemixアプリケーションのお作法となっていますが、Bluemix環境外では当環境変数が自動的に設定されないため、どのようにして必要な情報を取得するのかを検討する必要がありま
す。
採り得る選択肢としては、ランタイムの環境変数に事前に設定しておく、アプリケーショ
ン・ロジックで制御して環境変数から取得できない場合に別の場所(外部ファイルや定
数など)から取得する、そもそも環境変数を使用せず他の方法で必要な情報を管理して
おく、等が考えられます。
呼び出されるサービスの側では、Bluemixの外部からのアクセスが可能であるかを確認しておく必要があります。多くのサービスでは外部からのアクセスが可能ですが、SQLDatabaseサービスのように外部からのアクセスができないサービスもあります。
外部アクセスができないサービスについては、アプリケーションのランタイムと同様、ロー
カルへDBMSなどのミドルウェアを導入する等してサービス呼出の実現方法を検討することが必要になります。
19
© 2014 IBM Corporation20
IBM Bluemixwww.bluemix.net
Bluemixアプリケーションの開発環境パターン�開発者のスキル、体制、好みに合わせて柔軟に開発環境を
構成することができる
①Eclipse+Bluemix Plugin
で開発
②CF Tool+各種エディタ+ツール
で開発③IBM DevOps Servicesで開発
<基本編>
<応⽤編>
⑤Bluemixアプリのテスト環境をローカルに構築
④IBM DevOps Servicesでチーム開発
基本編と応用編に分けて開発環境をどのように構築するかについて説明してきました。
実際にはこれらのパターンを組み合わせることにより、更に多くの開発環境パターンを
構成することが可能です。開発者のスキルや体制などに応じて使用する開発ツールや
サービスを柔軟に使い分けて頂きたいと思います。
後半では「③IBM DevOps Servicesで開発」のパターンを取り上げ、BluemixとIBMDevOps Servicesによるアプリケーション開発の流れと進め方について説明していきます。
20
© 2014 IBM Corporation22
IBM Bluemixwww.bluemix.net
BluemixとIBM DevOps Servicesによる開発の流れ
�IDSによるBluemixアプリの開発の流れについて、実際の画面や操作を動画等でご紹介しつつ主な機能の概要をご説明します
�BluemixとIDSの各機能との連携についてもご確認ください
1.プロジェクト(リポジトリ)を作成する
<説明の流れ>
2.Web IDEで開発する
3.Delivery Pipelineでデプロイする
BluemixとIBM DevOps Servicesによる開発の流れについて、画面ショットやデモ動画を見ながら各機能の概要を説明していきます。
説明の流れは上記の通りとなります。
22
© 2014 IBM Corporation23
IBM Bluemixwww.bluemix.net
開発の基本的な流れ
プロジェクトの作成
手動デプロイ
リポジトリ(GIT)追加
コード修正 アプリケーション実⾏
自動デプロイ
コミット&Push
アプリケーション実⾏
アプリケーション作成
IBM Bluemix
Starter App
前頁の流れを具体的な開発の流れにブレークダウンして示したのが上記の図です。
開発の基本的な流れとして、開発環境および実行環境の双方がクラウド上にある、とい
うことを除くとごく一般的な開発作業の流れを同様だと言えるものです。
Bluemix上のアプリケーション・インスタンスに対してACEからGitリポジトリを追加してIDSプロジェクトを作成し、同時に登録されるStarterアプリケーションをWeb IDEで修正します。
Web IDEからの手動デプロイでアプリケーションを確認した上でソースコードをリポジトリにコミット/Pushして登録し、それをトリガーにしてDelivery Pipeline機能による自動デプロイを実行します。
特に網掛部についてはデモ動画を用いて実際の操作をご覧頂けます。
手動デプロイと自動デプロイとではデプロイ先のAppインスタンスを別にすることもできるので、上の開発用、下を結合テスト若しくは本番用のように使用することができます。
23
© 2014 IBM Corporation24
IBM Bluemixwww.bluemix.net
プロジェクト(リポジトリ)の作成
�事前にアカウントを登録(IBM idとJazz ID)�BluemixとIDSを繋ぐため同じメールアドレス登録でIDをリンク
�プロジェクト作成方法�以下いずれかの方法でプロジェクトを作成1.Bluemixで作成したアプリにGitリポジトリを追加2.IDSで既存プロジェクトをFork(Copy)して作成3.IDSで空の新規プロジェクトを作成
�利用可能なコード管理リポジトリ�Git/Jazz SCM/GitHubの3種類�GitHub連携の場合、Delivery Pipeline機能が使用できない�作成方法により使用できるリポジトリは異なる
�上記3の場合のみ3種類から選択可能
最初にプロジェクトおよびリポジトリの作成方法について説明します。
IBM DevOps Servicesを利用するためにまずは必要なアカウントを登録しておきます。
現在必要なアカウントはIBM idとJazz IDの2つです。IBM idはBluemixのアカウントと同じもの、Jazz IDはこのIBM idのメールアドレスと同じアドレスを登録したIDを使います。
この2つのIDのメールアドレスを同じにすることによりシステム側で2つのアカウントをリンクし、以降はIBM idを使ってBluemixとIBM DevOps Services双方のオペレーションをシームレスに実施することができるようになります。
次にプロジェクトの作成方法ですが、上記の3つの方法があります。
1はBluemixのACEからアプリケーション・インスタンスに対してGitリポジトリを追加する方法です。2はIDS側で既存のPublicプロジェクトを検索してForkしてプロジェクトの内容をコピーした新しいプロジェクトを作成する方法、3は同じくIDS側で空のプロジェクトを一から新規作成する方法になります。
3つの方法のうちどの方法で作成するかにより、次のバージョン管理リポジトリの選択肢
が変わってきます。
IDSで使用可能なリポジトリはGit、JazzSCM、GitHub連携の3種類になります。
実際に3種類から選択できるのは上記の3の方法でプロジェクトを作成した場合のみで、1の方法の場合にはGit、2の方法の場合はFork元のプロジェクトのリポジトリにより自動で決まります。
なお、GitおよびJazzSCMの場合は機能的な差異が殆どありませんが、GitHub連携の場合はDelivery Pipelineによるデプロイ機能がサポートされませんのでご注意ください。
24
© 2014 IBM Corporation25
IBM Bluemixwww.bluemix.net
プロジェクトの作成方法(1/2)1.Bluemix ACEのアプリケーション概要画面で「ADD GIT」
こちらは画面ショットによる1の作成方法の説明になります。
ACEのアプリケーション・インスタンスの画面上で「ADD GIT」ボタンからプロジェクトおよびリポジトリを作成することができます。
25
© 2014 IBM Corporation26
IBM Bluemixwww.bluemix.net
プロジェクトの作成方法(2/2)2.IDSで既存プロジェクトを検索/参照し、「EDIT CODE」でWebIDEを起動して「FORK」
3.IDSのMy Stuff画面で「CREATE PROJECT」
続けて2,3の作成方法の説明です。
2については既存プロジェクトのWeb IDEを起動して「FORK」ボタンを押下、3については自分のアカウントのMy Stuff画面で「CREATE PROJECT」ボタンを押下することでプロジェクトを作成できます。
26
© 2014 IBM Corporation27
IBM Bluemixwww.bluemix.net
デモ動画:コード修正〜自動デプロイ1. Web IDE上でコード修正2. 修正したコードをGitへCommit/Push3. 自動デプロイ(Simple)の実⾏4. アプリの変更を確認
リモートの方はお手元の動画をご覧ください
コード修正から自動デプロイ実行までの流れはデモ動画を見ながら説明します。
具体的な操作の内容は上記1~4に記載の通りです。
27
© 2014 IBM Corporation28
IBM Bluemixwww.bluemix.net
IDSからBluemixへのデプロイ�Web IDEからの手動デプロイとリポジトリからの自動デプロイの2種類
のデプロイをサポート
Web IDE
リポジトリ
チェックイン
BUILD&DEPLOY
SIMPLE
ADVANCED
Builder
チェックアウト
手動デプロイ
自動デプロイ
Web IDEで作業中のコードを直接デプロイ
最新のリポジトリから取得したコードをデプロイ
Bluemix
Deployer
ここではIDSからBluemixへのデプロイについて説明します。
デプロイ方法としては、Web IDEからの手動デプロイとDelivery Pipelineによる自動デプロイの2つに大きく区別されます。この2つの違いについては、手動/自動というだけ
ではなく、どの状態のコードがデプロイされるか、といった点で大きな違いがあります。
Web IDEからの手動デプロイでは、IDEワークスペース上で作業中のコードを直接Bluemix環境へ
デプロイすることになります。それに対し、自動デプロイでは既にリポジトリに登録済の最
新のコードに対してデプロイ処理が自動で走ります。それぞれにデプロイ先の設定を個
別に設定可能ですので、例えばチーム開発をしている場合など、手動デプロイで自分
の担当分を確認し、確認済みのコードをリポジトリに登録して自動デプロイを実施、結合
テストを行う、といった使い分けが可能になります。
なお、手動デプロイおよびSimpleモードの自動デプロイでは単純なデプロイのみが実施されるため、事前のコンパイルやパッケージといったビルド処理が実施されない点に
注意が必要です。
28
© 2014 IBM Corporation29
IBM Bluemixwww.bluemix.net
Web IDEからのデプロイ方法
�上部「DEPLOY」から作業中のコードをデプロイ可能�アプリケーションの状況や起動・停止もIDEから直接実⾏可能
ここではWeb IDEからの手動デプロイ方法について説明します。
Web IDEの上部にある「DEPLOY」ボタン押下により手動デプロイを実行できます。初回のみデプロイ先のBluemixのOrganizationおよびSpaceを指定します。
初回デプロイ後はWeb IDEのトップ画面でアプリケーションの状況確認や開始/停止を行うことができるようになります。
29
© 2014 IBM Corporation30
IBM Bluemixwww.bluemix.net
Web IDE
�Eclipse Orionベースの統合開発環境�Eclipse Foundationが開発中のWebブラウザ上で動作するIDE�プラグイン・アーキテクチャの採用による各種機能�多くのプログラム言語に対応するコードエディタ�ファイルマネージャ�Git/JazzSCM/FTP/SFTPクライアント
�Bluemixとの連携�ワークスペース(Sandbox)上のモジュールを直接デプロイ
�リポジトリへ未チェックイン状態のアプリをデプロイして確認できる�単純なデプロイのみ。コンパイル等のビルド処理は⾏われない
�アプリケーションの状況確認、各種操作もIDE上で実⾏可能
ここからはIDSの各機能ごとに補足の説明を行います。
Web IDEはEclipse Orionというオープンソース・プロジェクトの成果をベースとした統合開発環境であり、プラグイン・アーキテクチャにより複数の開発言語に対応したエディタ
やファイルマネージャなどの機能を提供します。
前述した通りワークスペース上で作業中のコードをBluemix環境へ直接デプロイすることも可能です。
30
© 2014 IBM Corporation31
IBM Bluemixwww.bluemix.net
Delivery Pipeline�リポジトリへのチェックインイベントをトリガーにビルド/デプロイ処
理を自動実⾏(手動実⾏も可)� Bluemixアプリの継続的デリバリーの実現をサポート� Bluemixとのシームレスな連携� Hosted Git/JazzSCMで利用可能(GitHubではサポートされない)� ACE上でAdd-On追加により専用ダッシュボードが参照可能
�2種類の自動デプロイ機能Simple リポジトリからBluemixへの単純デプロイのみ(ビルドなし)
IDEからの手動デプロイと同様細かい設定は不要Advanced BuilderとDeployerを定義してパイプラインを構成
各スクリプトを実装することによりパイプラインの詳細なカストマイズが可能Builder
Ant、Grunt、Gradleなど各種ビルドスクリプトDeployer
CFツールを呼び出すデプロイスクリプト
Delivery Pipelineはリポジトリへのチェックインイベントをトリガーとして、ビルド/デプロイのパイプラインを自動実行する機能です。
SimpleとAdvancedという2種類の自動デプロイ機能が存在します。
Simpleでは最小限の設定でデプロイのみを自動実行します。
Advancedではビルドとデプロイという2つのフェーズに対して詳細な設定やスクリプトの実装による処理内容のカストマイズが可能です。ビルドフェーズではAntやGrunt、Gradleなどの一般的なビルドツールのスクリプトを実装してBuilderに設定することにより、コンパイルやパッケージングの他、文法チェックや単体テストの実行などを組み込むこ
とが可能です。デプロイフェーズではCFツールを実行するシェルスクリプトを実装してDeployerに設定することによりデプロイ処理のカストマイズが可能になります。
なお、Advancedの新機能としてMultistage Deployment機能が9/12にリリースされています。
31
© 2014 IBM Corporation32
IBM Bluemixwww.bluemix.net
Agile Track&Plan
�チーム開発においてアジャイルベースの計画および作業管理を実施するための機能を提供�Rational Team Concertの計画、ワークアイテム管理機能をIBM
DevOps Servicesにビルトイン�スクラム・テンプレートによるAgileプラクティス適用�ダッシュボードによる状況の把握�ワークアイテム検索、作成、更新�構成管理とタスク管理のリンク
�BETA版も現在利用可能�一部の機能のUIが洗練されている�現⾏のUIも並⾏して利用可能
<ダッシュボード>
Agile Track&Planはチーム開発のための計画やトラッキングなどのタスク管理機能をRational Team Concert(RTC)をベースにIDSにビルトインして提供するものです。
ワークアイテムという単位でストーリーやタスク、障害を管理し、ダッシュボードでプロジェ
クト状況を把握することが可能です。リポジトリが保持するバージョン管理のログをワーク
アイテムにリンクすることもできます。
この機能のUIはRTCと同様のUIとなっていますが、現在UIが洗練されたBeta版も利用可能です。
32
© 2014 IBM Corporation33
IBM Bluemixwww.bluemix.net
New Agile Track&Plan (BETA)
�Drag&Dropのサポート等によるシンプル、直感的な操作�旧版のUIも並⾏して使用可能
Beta版のUIが上記の画面になります。
Drag&Dropによるワークアイテムの並び替えなど、よりシンプルで直感的な操作ができるようになっています。
なお、このBeta版と旧版のUIは並行して使用可能です。
33
© 2014 IBM Corporation35
IBM Bluemixwww.bluemix.net
まとめ
�Bluemixアプリケーションの開発環境には多くのパターンから開発者の環境、スキル、経験等によって柔軟に構成することができます
�IBM DevOps Servicesを利用すると、チーム開発にも対応可能なBluemixアプリケーション開発環境を迅速に調達することができます
�BluemixとIBM DevOps Servicesの活用によりタイムリーなサービス提供に可能にするクラウドベースの継続的デリバリー環境を実現できます
最後に、本セッションのまとめとして上記の3点を挙げます。
特にBluemixとIBM DevOps Servicesの活用はクラウドベースの継続的デリバリー環境の実現に向けて非常に有効なソリューションであり、今後も機能拡張されていくと考えら
れます。機会があれば是非一度お試し頂ければと思います。
35
© 2014 IBM Corporation37
IBM Bluemixwww.bluemix.net
プロジェクトの作成
�アカウントの登録�IBM idとJazz IDを登録する�BluemixとDevOps Servicesをシームレスに繋ぐためIDをリンク
�プロジェクト作成方法1.Bluemixで作成したアプリにGitリポジトリを追加2.DevOps Servicesで既存プロジェクトをFork(Copy)して作成3.DevOps Servicesで新規プロジェクト作成
�プロジェクト・オプションの指定�ソースコード管理リポジトリ選択(次⾴)�Public or Private�Scrumテンプレート適用要否�Bluemixへのデプロイ要否
プロジェクト作成方法についての補足説明です。
プロジェクトを作成する際、上記のプロジェクト・オプションを指定することができます。
Public/Private設定、およびBluemixへのデプロイ設定については作成後もプロジェクト・オプション画面から変更することが可能です。
37
© 2014 IBM Corporation38
IBM Bluemixwww.bluemix.net
リポジトリの選択
�利用可能なリポジトリ�Git ・・・ 分散型バージョン管理リポジトリ�Jazz SCM ・・・ RTCで利用される管理リポジトリ�GitHub ・・・ Gitのパブリックサービスを利用
�リポジトリによる制約�GitHub連携の場合、Build&Deploy機能が使用できない�JazzSCMは現在Gitと同等のサポート
�作成方法によるデフォルト�前⾴1の方法で作成する場合 → Git�前⾴2の方法で作成する場合 → Fork元により決定�前⾴3の方法で作成する場合 → 3種類から選択可能
コード管理リポジトリの選択についての補足説明です。
プロジェクトの作成方法によりリポジトリがデフォルト選択される場合があります。
前頁の1の方法で作成する場合はGitがデフォルトで選択されます。
前頁の2の方法で作成する場合は、Fork元のプロジェクトでGit若しくはGitHub連携が使用されている場合はGitが選択され、JazzSCMが使用されている場合はJazzSCMが選択されます。
前頁の3の方法で作成する場合は3種類から自由に選択可能です。
38
© 2014 IBM Corporation39
IBM Bluemixwww.bluemix.net
IDSでの他ユーザーの招待�プロジェクトのページからINVITE USERSする
�入⼒されたアドレス宛にメールが送信される
IDSでプロジェクトに他のユーザーを招待する方法についての説明です。
プロジェクトのページにある「INVITE USERS」ボタンから招待するユーザーのメールアドレスを入力することにより、他のユーザーにプロジェクトへのアクセス権を付与すること
ができます。
招待されたユーザーにはメールが送付され、メールのリンクをクリックするか、ログインし
てMy Stuff画面から受諾することにより招待されたプロジェクトへアクセスすることができるようになります。
39
© 2014 IBM Corporation40
IBM Bluemixwww.bluemix.net
IDSの稼動状況
� JazzHub Status(https://status.hub.jazz.net/)で確認できる
IDSの稼動状況の確認方法についての説明です。
稼働状況はJazzHub Status(https://status.hub.jazz.net/)のサイトで確認することができます。
40
© 2014 IBM Corporation41
IBM Bluemixwww.bluemix.net
IBM DevOps Servicesの課⾦について� 現在はBluemix側の課⾦管理に組み込まれている(Non-Bluemixについても計画中)� 機能によってはPublic/Privateのいずれかにより無料の範囲が異なる� Delivery PipelineはPublic/Privateに拘らず各月60分までのビルドが無料� Agile Track&PlanはPublicの場合常に無料、Privateの場合3ユーザ利用まで無料� Web IDEやリポジトリの利用はPublic/Privateに拘らず常に無料
(参考: https://hub.jazz.net/learn/cost )
IDSの課金体系についての説明です。
現在はBluemix側の課金管理の仕組みに組み込まれています。
Web IDEおよびリポジトリについては無料、Delivery PipelineおよびAgile Track&Planについては一定条件および範囲内で無料で使用できることとなっています。
詳細はBluemixのPriceリストでご確認ください。
41
© 2014 IBM Corporation42
IBM Bluemixwww.bluemix.net
Multistage Deployment (2014/9/12リリース)
�Advanced Auto-Deployで複数の宛先へのデプロイに対応�開発中は開発用Spaceへデプロイ、本番リリースは本番用Spaceへ
デプロイといった使い分けが可能に
2014/09/12にリリースされたばかりのMultistage Deployment機能についての説明です。
自動デプロイのAdvanced機能について、複数のデプロイ先の管理が可能となっています。
これまでは単一のデプロイ先しか設定できませんでしたが、複数のデプロイ先に対する
設定を同時に管理できるようになり、開発中は開発用Spaceへデプロイ、本番リリースは本番用Spaceへデプロイといった運用が可能になると考えられます。
42
Top Related