Weitere ähnliche Inhalte
Ähnlich wie CruiseControl.NET設置 (20)
Mehr von Kuniaki Igarashi (20)
CruiseControl.NET設置
- 1. 自動 Test と CruiseControl.NET Kuniaki IGARASHI 2006.8.21 http://igarashikuniaki.net/
- 6. UnitTest メソッドを実行し、 戻り値、副作用が妥当であることを確認するテスト ツール : CppUnit, JUnit, NUnit など CAddition cadd; // 引数の和を返し、メンバ変数 m_lastResult に結果を格納するクラス int result = cadd.arg2(2,3); // テスト対象のメソッドを実行して CPPUNIT_ASSERT_EQUAL((int) 5, result); // 結果を確認 CPPUNIT_ASSERT_EQUAL((int) 5, cadd.m_lastResult); // 結果を確認 UnitTest の Code 例 閾値に関する UnitTest をしっかり書けば、 バグの出やすい閾値付近でのバグ発生率減少 リファクタリング時には UnitTest は必須
- 18. インストール - IIS ContorolPanel -> プログラムの追加と削除 -> Windows コンポーネントの追加と削除 より インターネットインフォメーションサービス (IIS) をインストールします。 http でアクセスできるように設定してください。 ファイアーウォールの設定にも注意。
- 19. インストール - CC.NET http://sourceforge.net/projects/ccnet/ から Download してインストールしてください。 注意点: Web レポート機能を使う場合は、 IIS を先にインストールした方が設定が楽です。
- 20. インストール – IIS の設定 管理ツールのインターネットインフォメーションサービスで CC.NET web dashbord が加えられていることを確認してください。 また、 asp.net(aspnet_client) も必要です。 入っていない場合は以下のコマンドを実行してインストールしてください。 > %windir%icrosoft.NETramework1.1.xxxxspnet_regiis.exe -i xxxx にはインストールされたバージョンが入ります。
- 21. Windowsサービス設定 ■ Windows サービスの起動設定 ・デフォルトでは手動起動の設定となっているので、自動起動に変更 ・ログオンの項目で適切なユーザーを指定しないと、認証ができず CVS の実行で失敗します。 ・ CC.NET サービスが起動していると、コマンドラインからは実行できないので注意。 ( CC.NET は 1 つしか起動できない。) ■ コマンドラインから手動で起動する場合 > [CruiseControl.NET Path]ervercnet.exe -config:ccnet.config ■ CVS 認証 ・サービスで指定したユーザーで、 CVS login コマンドを実行して認証をしておきます。 > cvs.exe -d :pserver:[user]:[repository] login
- 22. CC.NET 設定ファイル ビルドの指示は以下の xml ファイルに記述します。 C:rogram FilesruiseControl.NETervercnet.config --- 例 ( 概略 )--- <5 分ごとに CVS 監視 > < 変更があれば以下のタスクを実行 > < ソースディレクトリを削除 > <CVS CheckOut> <Build> <Mail 送信 > Examples フォルダ以下に設定ファイルの例が置いてあります。
- 23. CC.NET 設定ファイル <project name="BuildProject"> <name> BuildProject </name> <workingDirectory>D:ruiseControlWorkrc</workingDirectory> <artifactDirectory>D:ruiseControlWorkrc</artifactDirectory> <modificationDelaySeconds>60</modificationDelaySeconds> <publishExceptions>true</publishExceptions> workingDirectory : ソースをチェックアウトするパス artifactDirectory : ビルドログを格納するパス modificationDelaySeconds : 最後のチェックインから x 秒間はビルドを開始しない publishExceptions : CVS などが応答しない場合の Exception エラーを通知
- 24. CC.NET 設定ファイル トリガー各種 Interval Trigger <intervalTrigger name="continuous" seconds="30" buildCondition="IfModificationExists"/> 30 秒ごとにソースリポジトリを監視、変更があればタスク実行 Schedule Trigger <scheduleTrigger time="23:30" buildCondition="ForceBuild“/> 決まった時間にタスク実行 Url Trigger <urlTrigger url="http://server/page.html" seconds="30" buildCondition="IfModificationExists"/> URL で指定したファイルを監視、変更があればタスク実行 Project Trigger <projectTrigger serverUri="tcp://server:21234/CruiseManager.rem" project="Server“/> 他の CC.NET プロジェクトの状態を監視、条件にあえばタスク実行
- 25. CC.NET 設定ファイル Visual Studio Task ー VS でビルド実行 (Release, Debug など指定可 ) Build Publisher ー ビルド生成物をコピー NAnt Task – NAnt を実行 Executable Task ー 実行ファイルを実行 ForceBuildPublisher ー 他の CC.NET プロジェクトを実行 NUnit Task ー ユニットテスト実行 Email Publisher – mail 送信 タスク各種
- 26. CC.NET を使った分散ビルド Project Trigger <projectTrigger serverUri="tcp://server:21234/CruiseManager.rem" project="Server“/> 他の CC.NET プロジェクトの状態を監視、条件にあえばタスク実行 ForceBuildPublisher <publishers> <forcebuild> <project>AcceptanceTestProject</project> <serverUri>tcp://buildserver2:21234/CruiseManager.rem</serverUri> </forcebuild> </publishers> 他の CC.NET プロジェクトを実行 CC.NET マシンが他の CC.NET マシンを統率または監視してタスクを指示できる。 監視 指示
- 33. ログ比較テスト ソースコードの要点にログ書き出しを仕込んで置く。 変数 Dump や、 関数の In/Out など。 変数の内容や処理経路が異なる場合に発見できる。 下回りのライブラリが置き換えられた場合も、 自分たちのコード上を通る経路が 変わる場合は違いに気づける。 Output テスト対象 ソースコード Log お手本 Log 差分比較 Input
- 43. NAnt とは何が違うの? レイヤーが違います。 CC.NET は統合ツール Mail 機能、 web ページ作成機能などがあります。 NAnt はビルドツール CC.NET でも NAnt の豊富な機能を利用してビルドなどの作業を行うことができます。 CC.NET でも簡単なビルド指示は出すことができます。