2011年を振り返って

最初は、Facebookに書こうと思っていたのですが、長くなり始めたのでこっちに書きました。

2011年は仕事にプライベートにスカンクワークにと振り返ってみると充実した年でした。



特に社外での活動にちょっとずつですが、参加し始めたのが自分の中で特に大きな変化でした!

その中でも特に印象的なのは「Jenkins実践入門」を執筆したのが、いい経験になりました。

初めての執筆で9章から11章とたくさんの頁を担当して大変だったけれども、出版時の達成感や反響をみているとホントに書いてよかったなと思いました。

その他にも勉強会での発表など、たくさんの刺激やプレッシャーも受けつつも、繋がりも広がったと思います。

何かを始めてみようと思ったその後の動機付けやモチベーションの維持にも一役買ってくれていましたので、引き続き2012年も社外コミュニティやイベントなどへの参加と情報発信していきたいと改めて思いました!



プライベートでも友人達とたくさんの旅行にも行けて、初体験なアクティビティも多く挑戦できた楽しめた1年でした。

富士山登頂にバンジージャンプなどなど。

その分、出費が痛い年でもありました。

来年は、まだ未経験の体験や行ったことのない地域への旅行に精を出したいです。



2011年がいい経験をたくさんさせてもらった年でもあったので、2012年は積極的にいい経験ができるように挑戦していく年にしていきたいと思います。

みなさま、1年間お世話になりましたm(__)m

そして、来年もよろしくお願いいたします。

TFS2010の検証環境を手軽に準備するには

前回、TFS Advent Calendarの「スマートフォンからTFSのビルド監視・実行をする方法」を書くにあたって、検証&キャプチャ用の環境が必要となったので、手軽に準備できないか調べてみた。

すると、検証用環境として仮想マシンのイメージが公開されていました。

Virtual PC用とHyper-V用とがありましたが、今回はVirtual PC用のイメージをダウンロードしました。

ダウンロードしたファイルは以下の通りです。

  • VisualStudio2010RTM_VPC2007.part0001.exe 10.0 MB
  • VisualStudio2010RTM_VPC2007.part0002.rar 〜 VisualStudio2010RTM_VPC2007.part0018.rar 700.0 MB
  • VisualStudio2010RTM_VPC2007.part0019.rar 323.8 MB
  • VisualStudio2010RTM-ALM-Labs.zip 13.6 MB
  • Working with the Visual Studio 2010 RTM Virtual Machine.docx 108 KB

計算すればわかりますが、合計で12.3GBくらいあります。

「VisualStudio2010RTM_VPC2007.part0001.exe」を実行して仮想マシンイメージを生成します。


作成される仮想マシンイメージは、約50GBあります。
空き容量には、十分注意しましょう。
ここが、一番時間がかかりました。

仮想マシンイメージが準備できたらVirual PCで起動します。

「新規」から新しいバーチャルマシンウィザードに従って仮想マシンの設定をします。
ハードディスクの設定箇所で、「既存のバーチャルハードディスク」から↑の仮想マシンイメージを選択してください。


追加した仮想マシンを選択して起動すると下記のようにログイン画面が表示されます。


ログインパスワードは、「Working with the Visual Studio 2010 RTM Virtual Machine.docx」に書いてあります。

VisualStudioやTFSがすでにインストールされているうえに、サンプルのデータもすでに設定済みなので、すぐに動作の確認を行うことができます。


次は、イメージの変換を行ってESXi上で動かすまでやろう。
PCの空きハードディスクがなくなってしまったので、早く移さないと。

スマートフォンからTFSのビルド監視・実行をする方法

TFS Advent Calendarの12/18分の記事です。

昨日はid:kkamegawaさんのTFS Best Practices Analyzerでした。

みなさんTFSのノウハウやいけてるTipsをバンバン書いていてちょっとプレッシャーを感じています。
日常的にTFSを触っているのではないので、ちょっと変わった路線の記事を書いてみます。

本日は「スマートフォンからTFSのビルド監視・実行をする方法」を書きます。


1.準備
基本的にはTFS側の準備は特に必要ありません。
ただし、スマートフォンからTFSのWeb画面にアクセス可能である必要があります。

スマートフォン側の準備は、「TFS 2010 Build Monitor」というアプリをインストールします。


2.TFS 2010 のアクセス情報設定
スマートフォンにインストールした「TFS 2010 Build Monitor」でTFS 2010内の監視するビルドを設定します。

アプリ起動後は、サーバの追加を行います。


サーバ追加後、監視するビルドを選択します。



監視対象のビルドが一覧として表示されます。
ここでは、一つしか表示されていませんが、同様にビルドは追加できます。


3.ビルド情報の確認と実行
ビルドをタップすると詳細な情報を表示することができます。


また、ビルドに対して実行キューへの追加も行うことができます。



スマートフォンからTFSへアクセス可能であるという条件付きですが、このアプリを使えばいつでもどこでもビルド情報監視できるようになります。


自宅でTFS2010を触れる環境を用意するので、だいぶ手間取ってしまいネタ的な記事になってしました。
今回、この記事を書くにあたって環境も作り上げることができたので、もう少し触ってみて気になった機能とか使い方があったら、別記事で書いてみます。

あと、自宅で環境が整うまでの経緯を書いたりもそのうちしようと思います。

vSphere Cloud Pluginを使って個人クラウドを効率利用

Jenkins Advent Calendar 2011 11日目担当のwadatkaです。
id:masato-kaさんの「お仕置き系eXtreamFeedbackDeviceの開発」からのバトンを受けての記事です。


Jenkins実践入門」発売日からちょうど一ヶ月経ったこの日が担当になって何か感慨深いです。

ただ、今回は「Jenkins 実践入門」の内容とか関係なく自分がほしいなぁと思っていた機能がプラグインとして出ていたのでそれを紹介しようと思います。

紹介するプラグインは、「vSphere Cloud Plugin」です。

このプラグインは、VMware vSphere server上の仮想マシンを起動したり停止したりスナップショットに戻したりできるプラグインです。
自宅でESXiの入ったマシンを動かしているので、それ上のVMをいろいろコントロールできたらいいなと思っていたところに、このプラグインを見つけたので、助かりました。

このまま見つけられずにいたら、きっと、「VMware vShere CLI」とかインストールしてコマンドとかでジョブを作っていたことだと思います。

もともと「Lab Manager Plugin」があったのですが、「Lab Manager」は有料(試用期間はありますが。)なので、環境も作っていませんでした。


ということで、ここからは「「無料」」でESXi上の仮想マシンをJenkinsから管理する設定などを説明します。


1.環境
実際に動かしている環境はこのような感じです。

物理マシンには、ESXi 5.0をインストールしています。
Jenkinsは、Windows Server 2003がインストールされたVM上に構築しています。
その他のVMは、Windows XPやCent OSなど適当なVMがいくつか作成されています。

今回は、「vSphere Cloud Plugin」を使ってJenkinsからWindows XPVMを起動→ジョブの実行→停止を行ったりします。
Windows XPVMは、予めJenkins Slaveが起動できる設定を行っているもとします。設定方法は、「Jenkins実践入門」の「10.2.3 マスターとスレーブの4つの設定方法」を参考にしてください。

vSphere Cloud Plugin」は、「Jenkinsの管理」→「プラグインの管理」から探してイストールしてください。


2.vSphere Hostの設定
まず始めに、VMware vSphere Server のホストをJenkinsに設定します。

「Jenkinsの管理」→「システムの設定」にアクセスすると「クラウド」項目があります。
追加するときは、「追加」から「vSphere Cloud」を選択します。
ここに「vSphere Host」やアクセス情報を設定します。

「Max number of slaves online」は、このホスト上に起動できるスレーブの上限値を設定でき、「0」にすると無限になります。


3.Slaveの設定
vSphere Hostの設定が終わったら、設定したホスト上のVMをSlaveとして登録します。
「Jenkinsの管理」→「ノードの管理」→「新規ノード作成」で「Slave virtual computer running under vSphere Cloud」を選択してSlaveノードを作成します。

続く設定画面では、必要な情報を設定してください。

設定のポイント

  • 「Snapshot Name」:スナップショットを使用する場合は、スナップショット名を設定します。
  • 「Force VM Launch」:VMの電源がオフのとき、オンにしてSlaveとして接続します。
  • 「Availability」:必要に応じてVMをオン/オフとする場合は、「要求時にはオンラインにし、待機中にはオフラインにする」を選択します。オンライン/オフラインをすぐに切り替えたいので、それぞれ要求時の遅延時間:0、待機時の遅延時間:1(最小値:1)としています。
  • 「What to do when the slave is disconnected」:Slaveがオフラインになったときなど、節電させた際のVMの動作を設定します。「Shutdown」以外には、「Shutdown and Revert」「Suspend」「Reset」「Nothing」があります。

※Slaveの基本的な設定については、「Jenkins実践入門」の「10.2.4 スレーブサーバとしてWindowsを利用する」や「10.2.5 スレーブサーバとしてLinuxを利用する」を参考にしてください。

これで、Slaveの設定は完了です。


4.ジョブの実行
ジョブの設定は、通常のSlave上で実行させる設定を行います。

ジョブを実行すると、スレーブがオフラインなので、ビルドキューにとどまったままです。

しかし、ノードを確認するとVMの起動が開始されます。

正常に開始されるとビルドが実行されます。

ビルド完了後、他にビルドキューがないので、シャットダウンを行います。


5.まとめ
今回、この「vSphere Cloud Plugin」を使ってVMの起動や停止を行う設定を紹介しました。


この機能を使うと何がうれしいのか。

  • 限られたリソースの中で様々な環境でビルドやテストを実行できる。リソースが余るほど多くあるのならば、Slave用のマシンは起動しっぱなしにすることができます。しかし、マシンが1台しか用意できないなど、テスト環境は5個、10個あるときなどは、必要なときに必要なマシンだけ起動して完了したら停止する機能はきっと重宝されますよ。
  • 今回、紹介していないのですが、スナップショットを指定することもできるため、ビルドやテストの実施後に初期状態へ簡単に復元することができるようになりますよ。


さて、明日のJenkins Advent Calendarは、ooharabucyouさんです。よろしくお願いします。


「Jenkins実践入門」本日発売!!

初めて執筆した「Jenkins実践入門 〜ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus) 」が本日より書店に並びます。

先行発売のときでは、書店に並んでいるところを見ることができなかったので、今日は並んでいるところをこの目で見たいと思います!!

Amazonの著者ページを作ったら、予約開始時からのランキング推移が見れた!!

Amazonのランキングも非常に好調のようです(^^)

Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

[rakuten:book:15609430:detail]

「Jenkins実践入門」売れ行き好調

本日、腕時計の電池交換や出張で使うスーツケースを買いに秋葉原までいってきました。

そのついでに、先週の土曜日から都内のいくつかの書店で先行発売されている「Jenkins実践入門」を見てきました。

ヨドバシカメラ

書泉

本来おいてあるはずの場所にはおいていませんでした!!!
Twitterなどで売り切れという情報を見てはいたのですが、実はバックヤードなどにあるのではないかという期待を込めていってきたのですが、残念ながら本当に売り切れのようでした。

まだ、書店に並んでいるところを自分の目で見ていないので、発売の実感が湧かないのですが、それは11月11日の発売日のお楽しみにとっておくことにします。

Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

[rakuten:book:15609430:detail]