読者です 読者をやめる 読者になる 読者になる

Natural Software

KinectなどのDepthセンサーを中心に活動しています

Amazon Web Service (AWS)のEC2で Jenkins を動かす

Hudson


最近の仕事は、お客さんが距離的に離れたところにいるような環境でやっています。
作ってるソフトはWindowsのネイティブアプリなので、実行ファイルの受け渡しが煩雑でした(exeなので、そのままでメールに添付できなかったり)。ということで、EC2上にJnekins師をたてて、そこを中心にしようと考えました。


自分の中で必要な環境が出来上がったので、備忘録として残しておきます。

やりたいこと

  • 外向きのJenkinsが欲しい
  • Windowsのビルド環境が欲しい


ということで、EC2上に外向きのJenkins氏(master)をたてて、自分の環境にWindowsのビルドができるslaveを作ってビルドし、その結果をmasterからダウンロードできるようにしました。
CloudBees だとslave設定がなかったので、Windowsのビルド環境ができませんでした。

手順

上記、参考サイトを上から順に行うと完成しましたw
#他に、Jenkins氏と、slaveのポートをあけました
最後に、Elastic IPアドレスの設定をして、仮想マシンに静的なIPアドレスを割り当てて完成です。
Elastic IPの設定は、調べるとコマンドラインから行う方法が出てくるのですが、AWS Management ConsoleからGUIで設定ができました。

Elastic IPの設定手順
  1. AWS Management Console」の「Elastic IPs」を開きます
  2. 初期画面では「Allocate New Address」ボタンのみ表示されると思うので、それを押す
  3. IPアドレスが生成されたら「Associate Address」ボタンを押して、生成されたアドレスを仮想マシンに割り当てます
  4. IPアドレスと、インスタンスIDが関連づけばOKです

まとめ

ここまでで、AWS上実行ファイルを配布するJenkins氏が立ち上がり、ビルドはローカルの環境で行えます。
ビルドマシンは特に専用サーバという訳ではないので、ビルド時にslaveの起動を毎回行うようにしています。
slave環境の作り方については、こちらも参考に