2013年4月17日水曜日

Windows Azure Cloud Services (PaaS)でJenkinsを動かしてみた



つい先日もJenkis導入ネタを書いたばかりの「インストールマニア」 @snicker_jp です。

※注
この内容は、2013年4月17日時点の情報です!
Azureは常に進化を遂げているので、この情報が後日には使えなくなるかもしれません。


きっかけ


前記事の「JenkinsをRPMでインストールしてみた」を共有したら

Azure MVPの某御方に

「Jenkins on Azure (PaaS) 楽しみです。」

と、言われたからw

せっかくなので、やってみました!

Azure の PaaS(Windows Azure Cloud Services)でJavaを動かします。

必要なもの


  • Windows Azure SDK 1.8
  • Eclipse(Pleiades All in One)
  • Windows Azure Plugin for Eclipse with Java
  • Jenkinsのwarファイル
  • .NET Framework 3.5 SP1← ここ意外と大事w
  • Windows OS (7 or 2008R2) ← 多分「8系」でも大丈夫だと思います。

前提条件


  • 「Windows Azure SDK」、「Eclipse」に「Azure Plugin」、「JDK」他「必要なもの」はインストールが済んでいるものとします。
  • あくまで、動かすことが目的です!(インストールマニアなので)


手順

前提を踏まえた上で、手順です。

Jenkinsのwarファイルの準備






Eclipseで「Windows Azure プロジェクト」を作成


  • 「New Windows Azure Deployment Project」ボタンから作成




  • プロジェクト名を入力して「次へ」
    • 例:「JenkinsOnAzureProject」




  • JDKのパス設定
    • Locally: 「C:\pleiades\java\7」




  • サーバーのパス設定(Tomcat)
    • Locally: 「C:\pleiades\tomcat\7.0」




  • アプリケーション設定(Jenkins.warの追加)

追加から




  • 「jenkins.war」のパスを選択して「OK」




  • 「jenkins.war」が追加されているのを確認して「次へ」




  • ここはそのまま何も付けない




  • プロジェクトが出来ていることが確認できます




ローカルデバッグ


  • 「Windows Azure プロジェクト」を選んで、「Run in Windows Azure Emulator」ボタンをクリック




  • 自動的にビルド、Tomcatの起動、ポート設定まで完了します




↑この画面になればOK

  • 確認

http://localhost/jenkins/

にアクセス




確認できました

次に「Windows Azure」にデプロイするための設定をします


※「リモートアクセス」が有効になっていると、現時点ではなぜかデプロイに失敗するので、無効化します

  • 「Windows Azure プロジェクト」の「プロパティー」を開きます




  • こんな画面です




  • 「リモートアクセス」を探して、画面のようにチェックを外して「無効化」します




以上で、準備完了です

Windows Azureへデプロイ! (Eclipseから)


  • プロジェクトを選択して、「Publish to Windows Azure Cloud」をクリック




  • 「Import from PUBLISH-SETTINGS file...」を読み込ませた状態で、希望に合わせて設定します

詳しい説明は割愛します(後日また書くかもしれません)

また、ターゲットを「製品」にするとデプロイがうまく行かなかったので、一度「Staging」にデプロイするか、「ポータル画面」からデプロイします




  • 「次へ」をクリックすると「リモートアクセス」を無効化した画面が出ますが、このまま「公開」




  • ビルドし直すか聞いてきます 「はい」にして一応ビルドし直しました




  • こっちが、「製品」にデプロイして失敗した画面




ローカルでちゃんと動いていて、デプロイに失敗するようなら、「ポータル画面」を使ってデプロイしましょう

Windows Azureへデプロイ! (ポータル画面から)


  • ポータルから「クラウドサービス」を選択して、対象のURLを選択後




  • 「アップロード」から




  • 「プロジェクト」フォルダ内の「deploy」フォルダからcspkgとcscfgをアップロードします

今回の例

C:\pleiades\workspace\JenkinsOnAzureProject\deploy






  • このような感じ




  • デプロイが完了すると以下の様な画面になって、URLにアクセスすれば動作確認できます




http://設定したURL/jenkins/



にアクセス!




出来ましたね!≡・ェ・≡

まとめ


  • Eclipse(3.7?) からのデプロイは失敗することもあるので、失敗するときは「ポータル画面」からアップしましょう
  • 「.NET Framework 3.5」も入れてくださいね
  • Azure で Javaしっかり動きますよ!

ちなみに


マイクロソフトでは、

  • ソース管理
  • CI (継続的インテグレーション)
  • テスト
  • アジャイル?

に対応した、

Team Foundation Server (TFS)」

があります。




TFSのクラウドサービス

Team Foundation Service

は、Azureとの連携も簡単にできます。




また、インストールマニアックスはいったんFINALを迎えましたが・・・

インストールマニアックス嫌いでも、インストールは嫌いにならないでください!☆(前田敦子風w) (。´Д⊂)

Zenback