IBM Cloud (旧Bluemix) は、ブラウザ だけでも クラウド上で開発・稼動させることができます。が、やはり本格的に開発する時は、ローカルPCの Eclipse (IBMがオープンソースに寄贈した開発環境) でコーディング・テストしてからクラウドに上げたいですよね。ローカルPCとクラウドで、コマンドとか使わず開発(Dev)後すぐにサーバーで運用(Ops)できる DevOps 開発ができるということで、やってみました。
Eclipseのセットアップ
MergeDocプロジェクト (http://mergedoc.osdn.jp/)
まずは、上のサイトから Eclipseが含まれる統合パッケージのプレアデス(Pleiades)のダウンロードと導入です。ここでは 「Eclipse 4.7 Oxygen」 をクリックして導入しましょう。
64bit PCの場合は、「64 bit / Full Edition / Java」 の [Download]ボタン をクリックして、約1.5GBのZIPファイルをダウンロードします。ZIPを開き解凍してください (ExplorerでpleiadesディレクトリごとZIPファイル内から C: ドライブ直下にDrag&Dropなど)。2.5GB程度空き容量が必要です。
Macではダウンロードしてアプリケーションから「開く」を実行し、「Pleiades All in One」画面でEclipseアイコンをApplicationsフォルダーにDrag&Dropして下さい。導入されたらアプリケーションのEclipseアイコンを右クリックして「開く」を実行します。
pleiades/eclipse フォルダ下の eclipse.exe を実行すると、以下の画面が表示されます。(ワークスペースのディレクトリを聞かれたら、「../workspace」 のままで起動。pleiadesディレクトリの下のworkspaceにコードが置かれる)
まず、IBM Cloud環境を取り込むため、メニューの[ヘルプ][Eclipseマーケットプレース]をクリックしてください。
すると、以下のようなマーケットプレースの画面が表示されますので、上部の[検索]タブの[検索:]のところに「IBM Cloud (もしくはbluemix)」と入力し、検索してください。「IBM Eclipse Tools for Bluemix (for XX)」を選択し右の[インストール] ボタンをクリックします。チェックはそのままで[確認]ボタンをクリックし、次で [使用条件に同意] をチェックし [完了] をクリックすると、Bluemixへの接続環境完了です!
とりあえず、Eclipseのメニューの [ウィンドウ] [パースペクティブ] [パースペクティブを開く] [その他] で [Java EE] を選んで画面構成をJava EE用にしてください。
IBM CloudのGIT環境との連携
次に、Bluemix上に構成されているDevOpsサービス(GIT)に接続し、クラウド上のプログラムをEclipseにコピーします。
まだの人は ⇒このリンク先 を見て IBM Cloud環境 をセットアップし、サンプル・アプリなど何らかのアプリを作成してください。ダッシュボードからその作成した「Cloud Foundry アプリ」を選択し、概要を開き、右下の「継続的デリバリ」の「ツールチェーンの表示」をクリックします。以下の画面で真ん中のソースコード・リポジトリである「GIT」をクリックしてください。
まず画面上方に濃いオレンジで表示されている「 create a personal access token」をクリックします。
このGITにアクセスを許可するためのTokenコードを生成する画面になりますので「IBMCloudTest」などのアプリ名と適当な期限を入力してアクセス用Tokenを生成してください。
以下がTokenが生成された時の画面です。これをコピーして、後でEclipseのパスワードに使います。
以下の画面に戻り真ん中の「HTTPS:」の右のURL(青い部分)を自分でコピーするか、その右にある「Copy URL to Clipboard」アイコンをクリックしてGIT用URLをコピーします。
Eclipseの [ファイル] メニューで [インポート] [Git] [Gitからプロジェクト] を選択し [次へ]。 [クローンURI] [次へ] で表示された [URI] に、上でコピーしたURLをペーストします。下の [ユーザー:] [パスワード:] は、IBM CloudのユーザーID (IBM ID) を入力して、パスワードには2つ上の画面で作成したAccess Tokenをコピーして[次へ]をクリック。
「既存プロジェクトのインポート」で[次へ] とすると、Eclipseに「nodejscloudantbp (c:\…)」などと表示されますので[完了]でIBM Cloudで作成されたGITプロジェクトをローカルのEclipseにインポートが完了しました。
Eclipseへのインポートの確認
うまくローカルPCに IBM Cloudのコードがコピーできれば、以下のように左のプロジェクトのタブに Gitと同じBluemixサンプルのコードがコピーされています。例えば[views]下の[index.html]を右クリックして[次で開く] [Webブラウザー] を実行すると、以下のような、Web画面が表示されます。(Cloudantを含まないサンプルの場合は、このページのトップのイメージが表示)
Eclipseで左の [index.html] を右クリックし [次で開く] [HTMLエディター] をクリックすると、HTMLが編集可能なエディターが立ち上がります。以下のように、15行目の文字を変更して保管して(Ctrl+S 実行)みましょう。
Favorites Organizer powered by Cloudant をEclipseで変更しました。
IBM CloudのGitへの同期
保管後、Eclipseのチーム開発機能を活用し、左のプロジェクトのタブでプロジェクト名(この例では「nodejscloudantbp」) を右クリックし、[チーム] [コミット]をクリックします。
Eclipse右下の[Gitステージング] のペインで以下のような表示になるので、[コミット・メッセージ] のところに変更内容のメモを記入し(Eclipseから変更・・など)、右下の作成者とコミッターのところにIBM Cloudのと同じメールID入力し、[コミットおよびプッシュ] ボタンをクリックしてください。ローカルのEclipse上でこのコードをコミットした上で、IBM Cloud上のGitリポジトリにプッシュされますので、プッシュ結果の確認が表示されたら [閉じる] をクリックしてください。
IBM CloudのツールチェーンからGitを立ち上げ、[views]フォルダーを開くと、次のように index.html にEclipseでの変更コメントが表示されているはずです!
また、そのindex.htmlをクリックしてソースコードを見ると、Eclipseでの変更部分が反映されているはずです。また、このようにプッシュした内容は、すぐにIBM Cloudのサーバーにもデプロイされます。
サーバーが未稼働であれば、IBM Cloudの画面のアプリの[接続] から [開始] アイコン をクリックしてサーバーを開始させ、以下のように稼動したら [アプリURL…] をクリックして稼動しているサーバー・アプリのURLにアクセスします。
すると、アプリの画面のメッセージは以下のように更新されているはずです!
ソースコードのビルド(コンパイル等)やサーバーへのデプロイは、ツールチェーンの中の 「デリバリー・パイプライン (Delivery Pipeline)」 からクリック一つで実行することもできます。以下のBuild Stage (コンパイル等)の右にある実行アイコン をクリックしビルドすると、自動的にDeploy Stageも実行され、サーバーにデプロイされます。以下はCloudサーバー上への展開が60%完了している段階です。
まさに、開発(Dev)したらすぐにサーバーで運用(Ops) できる、「DevOps」ですね!
次は、ローカルPC上でテスト・サーバーを動かして稼動させてみる方法です。