Jenkins is an open source automation server
情報源: Partnering with Microsoft to run Jenkins infrastructure on Azure
JenkinsとMSが提携して、Jenkinsのサイトを含むプロジェクトのインフラストラクチャがAzure上にホストされることになったようです。
このままさくっとAzureでJenkinsのSaaSが提供されると面白いんですけどね。
Jenkins is an open source automation server
情報源: Partnering with Microsoft to run Jenkins infrastructure on Azure
JenkinsとMSが提携して、Jenkinsのサイトを含むプロジェクトのインフラストラクチャがAzure上にホストされることになったようです。
このままさくっとAzureでJenkinsのSaaSが提供されると面白いんですけどね。
git – A fork of Git containing Windows-specific patches.
情報源: Release Git for Windows 2.6.1 · git-for-windows/git
主な変更点:
リリースノート (trac-lightning-dev – 3.2.0alpha1) – Trac Lightning – SourceForge.JP.
久しぶりの更新ですね。
JREが同時にインストールされ、Jenkinsのサービスもツールやインストーラーで出来る様になったので、また一段敷居が下がった感じです。
また、Jenkinsでプロジェクトの追加やバックアップが可能になっていますので、リモートでのメンテナンスがやりやすくなっています。
あと、若干の注意点ですが、インストーラというか、httpdとJenkinsをサービス登録するツールが.NET Fx 3.5を使用するので、Windows 8 / Server 2012で使用する人はインストール前に.NET Framework 3.5の有効化を行いましょう。
とりあえず、おもしろそうなのでAzure VM上にCentOS 6のインスタンスを作ってKanonを動かしてみたいと思います。何故kanonという突っ込みは無しの方向で。
まずはCentOSのVMを作成。
ダッシュボードを起動し、CREATE VIRTUAL MACHINEをクリック。
ダッシュボードの下側に以下がにょろっと出てきますので、FROM GALLARYを選択します。
CentOS 6.2を選択します。
日時:2012/7/29(日) 11:30~17:30
場所:法政大学(東京都千代田区富士見2丁目17-1)
定員:300名
参加申し込みは以下URLです。
http://connpass.com/event/467/
カンファレンスサイト:
» Jenkins ユーザ・カンファレンス 2012 東京 日本Jenkinsユーザ会.
私も参加登録しました。
(2012/04/23に開催概要発表につき訂正)
(2012/04/24 申し込みサイトのURLを変更)
Jenkins CIA Program – Jenkins – Jenkins Wiki.
JenkinsがCIAに採用されたとか、怪しいスパイアドイン等ではなく、Jenkins CI Ambassador略してJenkin CIA!と言うことでJenkinsの普及啓蒙関係に力を入れていこうというプログラムのようです。
メールでイベントするよ!と通知すると、Jenkinsのサイトで紹介してくれたりするようになるようです。
ま、とにかく上の怪しいJenkinsさんのステッカーがほしい!!
全部で120ページ強ありますが、当然すべてを発表するわけでは無く、Trac LightningやmsysGitを使用していくための資料として作ったものがほとんどです。
JenkinsやGitをWindows上で、特にVisual Studioや.NETの開発技術とともに使用するためのまとまった資料はあまりなく、自分もいつも探すことになるので、良い機会なのでまとめてみました。
では、石川で明日お会いしましょう!
Jenkins |
|
![]() |
John Ferguson Smart Sky株式会社 玉川 竜司
オライリージャパン 2012-02-22 |
Continuous Integration(CI)ツールは皆さん使われているだろうか。
CIツールはいわば、ITの開発をIT化するためのツールであり、IT製品であるコンピューターソフトウェアの生産と、品質管理工程を自動化するための基板となるのがCIツールと言われているものだ。
CIが行うことはだいたい次のようなことになる、生産資源であるソフトウェアソースコードを倉庫であるソースコートリポジトリから出庫し、ビルドプロセスと呼ばれる、生産工程にそのソースコードを流し、動作するコンピュータソフトウェアとして製品化し、生産完了した製品を梱包する(パッケージング)、あるいはさらに出荷(デプロイ)までし、且つその間に品質管理のためのサンプリング、分析まで行う。また、その工程内のどこかで異常があれば、生産ラインを停止させ、異常を解析できるきっかけを与える。
個々の工程ではそれぞれ専用のツールが使用されるが、それらをつなぎ合わせて、工程全体を監視し、制御するのがCIツールとなる。
いわば、CIツールを導入していないソフトウェア開発現場は、自動化されておらず、数理的且つ客観的な品質評価もされていない、近代化以前の家内制手工業の工場(こうば)のままでいることになる。
そのようなCIツールとして今注目を浴びているのがJenkins(旧Hudson)だ。そのJenkinsを扱った書籍がオライリーから出版された。
ただ、この本は少々変化球だ。
まず、Jenkinsが標準でサポートするSCM/VCSはCVSとSubversionだが、この本ではGitの使用を前提としているし、GitHubの使用まで念頭に含まれている。通常の入門書であれば無難にSubversionを使用した説明で進んでいきそうなものだが、筆者はあえて(ある意味面倒くさい)選択的にGitを使用した説明をしている。
また、ビルドの自動化だけで無く、単体テスト、静的解析や、分散ビルドについてもページを割いており、本格的なプロジェクトでの運用を視野に入れた方でJenkinsのしようについて解説している。
こうしたことから入門書としてして本書を使用するのは不適切だ。本書に書かれているのは実運用の基礎であって、入門では無い。
Cruse Controlや他のプロプライエタリな自動ビルド環境の構築や運用の経験があり、Jenkinsも使用しようとしている者、Subversionを使用してきたが、Gitを使用したいと考えている者に適切だし、お勧めする。
CIの導入、運用の経験が無く、Jenkinsを使い始めようという方には、以下をお勧めする。
Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus) |
|
![]() |
佐藤 聖規 和田 貴久 河村 雅人 米沢 弘樹 山岸 啓
技術評論社 2011-11-11 |
.NET Frameworkの静的解析ツールとしては、バイナリを解析するFxCopが有名です。
(FxCopについては:ツールボックス: .NET 用の静的分析ツール、Matt Berseth のブログ)
FxCopのレポート結果を確認するにはViolations Pluginを使用するので、インストールされていなければインストールしてください。
まずは、コマンドライン版のFxCopを使用して、静的解析を行うようにビルドのジョブを追加します。
何のことは無いチラシの裏。
JenkinsでOpenCoverからNUnitを起動して、単体テストとそのカバレッジの測定を行い、OpenCoverの出力をReportBuilderでHTMLに変換するという手順。
JenkinsでOpenCoverとNUnitをx64環境で使用する際のMSBuildの設定例
/P:Configuration=Release /P:Platform="Any CPU" /P:DebugSymbols=true /P:ReferencePath=\"C:\Program Files (x86)\NUnit 2.6\bin\framework\"
バイナリはAny CPU指定、PDBは作成する、NUnitにリファレンスを通すといったところ。とりあえずAny CPUではOpenCoverで失敗している。(が、再調査、チャレンジは必要かも)(2012/02/28 19:55 修正。Any CPUで問題なし)
Jenkins用OpenConverの設定例。WindowsのバッチコマンドとしてMSBuildの後にビルドJOBを追加。
cd /d %WORKSPACE%
del result.xml
del TestResult.xml
del /s /q .\html\*.*
"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -register -target:"C:\Program Files (x86)\NUnit 2.6\bin\nunit-console.exe" -targetargs:"%WORKSPACE%\HokurikuDemo\TestHokurikuDemo\bin\x64\Release\TestHokurikuDemo.dll /framework=net-4.0" -targetdir:"%WORKSPACE%\HokurikuDemo\TestHokurikuDemo\bin\x64\Release" -filter:"+[HokurikuDemo]*" -output:result.xml
"C:\bin\reportgen\bin\reportgenerator" "result.xml" .\html
copy "%WORKSPACE%\HokurikuDemo\TestHokurikuDemo\bin\x64\Release\TestResult.xml" "%WORKSPACE%"
これで、WORKSPACEの下にHTMLというディレクトリができ、そこにOpenCoverの結果がHTMLで保存される。
こつ的なところはOpenCover.Console.exeとちゃんと拡張子まで指定するのと、その-registerオプションはそのまま:以降の指定はしないこと。
ポストビルドの設定で、HTML Publisherプラグインを使って、カバレッジデータのHTMLがプロジェクトに表示されるように設定している。
下の方はNUnitの設定で、テスト結果に使用するファイルを指定している。