輪るビングドラム.NET
-
Upload
bleis-tift -
Category
Technology
-
view
9.349 -
download
0
Transcript of 輪るビングドラム.NET
![Page 1: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/1.jpg)
CI戦略しましょうか
bleis-tift
October 15 2011
![Page 2: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/2.jpg)
自己紹介
id:bleis-tift / @bleis
名古屋から来ました
.NET系プログラマです
お仕事で Jenkins使ってCIまわしてます
![Page 3: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/3.jpg)
お詫び
Bingとか出てきません。
![Page 4: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/4.jpg)
今日やること
第一回大阪 Jenkins勉強会で、おださんが大抵のことを発表してくれました。
http://slidesha.re/nY5x7s
まとめると、「MSBuild便利」と理解しました。
この発表では、
構成の紹介
実際に運用してみてどうだったか
を中心に話します。
![Page 5: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/5.jpg)
お仕事について
社員の数 十数名。協力会社の人を入れると 20人くらい?
チームの大きさ 2人~6人
システムの種類 Webサービスなど
環境 .NET Framework(1.1~4.0 / C#、F#) /Git / MSBuild / NUnit
こんな環境で Jenkins使っています
![Page 6: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/6.jpg)
構成 (全体)
![Page 7: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/7.jpg)
構成 (全体)
![Page 8: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/8.jpg)
構成 (全体)
![Page 9: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/9.jpg)
構成 (全体)
![Page 10: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/10.jpg)
構成 (全体)
![Page 11: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/11.jpg)
構成 (全体)
![Page 12: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/12.jpg)
構成 (プロジェクトごと)
![Page 13: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/13.jpg)
構成 (プロジェクトごと)
この話は以前何度かしているので、詳しくはそちらをどうぞ。
http://slideshare.net/bleistift/
もしくは懇親会で。
![Page 14: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/14.jpg)
使っている主なプラグイン
Simple Theme Plugin
Git Plugin
MSBuild Plugin
NUnit Plugin
Groovy Postbuild Plugin
Active Directory Plugin
Role Strategy Plugin
![Page 15: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/15.jpg)
使っている主なプラグイン
Simple Theme Plugin
Git Plugin
MSBuild Plugin
NUnit Plugin
Groovy Postbuild Plugin
Active Directory Plugin
Role Strategy Plugin
![Page 16: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/16.jpg)
使っている主なプラグイン
![Page 17: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/17.jpg)
使っている主なプラグイン
Simple Theme Plugin
Git Plugin
MSBuild Plugin
NUnit Plugin
Groovy Postbuild Plugin
Active Directory Plugin
Role Strategy Plugin
![Page 18: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/18.jpg)
使っている主なプラグイン
Simple Theme Plugin
Git Plugin
MSBuild Plugin
NUnit Plugin
Groovy Postbuild Plugin
Active Directory Plugin
Role Strategy Plugin
![Page 19: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/19.jpg)
使っている主なプラグイン
Simple Theme Plugin
Git Plugin
MSBuild Plugin
NUnit Plugin
Groovy Postbuild Plugin
Active Directory Plugin
Role Strategy Plugin
![Page 20: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/20.jpg)
使っている主なプラグイン
Simple Theme Plugin
Git Plugin
MSBuild Plugin
NUnit Plugin
Groovy Postbuild Plugin
Active Directory Plugin
Role Strategy Plugin
![Page 21: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/21.jpg)
Jenkins(CIツール)導入の効果
問題の早期発見
リリースプロセスの標準化
開発者に安心を与える
(個人的に)思いもよらない効果
![Page 22: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/22.jpg)
安心感を与える理由
開発者は不安を持っている
手元ではビルドできるけど、他では・・・?
急にリリースが必要になったけど、この dllでいいんだっけ・・・?
さっきの変更で他の何か壊してないかな・・・?
などなど
Jenkins(CIツール)の導入によって、これらの不安をある程度解消できた
![Page 23: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/23.jpg)
失敗談
ビルド後に行う処理を Jenkinsの外に出したこと
全てのビルドを 1つのマシンに集約したこと
何もないところからビルドせずに問題発見が遅れたこと
![Page 24: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/24.jpg)
Jenkinsで完結させる
そうしないと・・・
ビルドの設定が面倒になる
ビルドの設定の確認も面倒になる
他のマシンへの流用が面倒になる
どうする?
Groovy Plugin / PowerShell Pluginなどを使う
Groovy Postbuild Pluginを使う
最終的にはPlugin化することも考える
![Page 25: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/25.jpg)
無理して一つにまとめない
そうしないと・・・
ビルドマシンの中がぐちゃぐちゃに
失敗するべきビルドが成功してしまうことも
どうする?
必要な環境ごとにビルドマシンを分ける
各々をスレーブにしてまとめる
←できてない
![Page 26: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/26.jpg)
無理して一つにまとめない
そうしないと・・・
ビルドマシンの中がぐちゃぐちゃに
失敗するべきビルドが成功してしまうことも
どうする?
必要な環境ごとにビルドマシンを分ける
各々をスレーブにしてまとめる←できてない
![Page 27: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/27.jpg)
必ず何もないところからビルドする
そうしないと・・・
失敗するべきビルドが成功してしまう
どうする?
何もないところからビルドするようにしましょう
こんな当たり前のことで失敗してしまった・・・
![Page 28: 輪るビングドラム.NET](https://reader034.fdocuments.net/reader034/viewer/2022042816/558c97c2d8b42a55618b457a/html5/thumbnails/28.jpg)
まとめ
.NETでも Jenkins便利!
開発者に安心感を!
基本に忠実に!