CCNet初心者です...
CCNet Web ダッシュボードをカスタマイズして、[Force Build] ボタンの横にチェックボックスを追加して、特定のビルドがリリース用かどうかを示したいと考えています。
この種のカスタマイズが可能かどうか教えてください。その場合は、開始するためのチュートリアルまたは記事のリンクを提供してください
CCNet初心者です...
CCNet Web ダッシュボードをカスタマイズして、[Force Build] ボタンの横にチェックボックスを追加して、特定のビルドがリリース用かどうかを示したいと考えています。
この種のカスタマイズが可能かどうか教えてください。その場合は、開始するためのチュートリアルまたは記事のリンクを提供してください
チェックボックスがオンになっている場合、いくつかのCC.netプロジェクト(たとえば、デバッグプロジェクト)を非表示にしてビルドする必要があるため、意図したことを行うのは非常に面倒だと思います。履歴とログを含むプロジェクトのページにアクセスするのは面倒です。その場で ccnet プロジェクト構成を編集することを考えた場合は、最新の状態にするためにサービスを再起動する必要があることを忘れないでください。最後に、変更はダッシュボードには問題ありませんが、cctray で問題が発生します。
代わりに、デバッグ モードでビルドするプロジェクトとリリース モードでビルドするプロジェクトの 2 つの異なるプロジェクトを作成します。これははるかに簡単で簡単です。たとえば、ビルドがソース管理リポジトリの更新からトリガーされるデバッグ プロジェクトと、手動または夜間にビルドされるリリース プロジェクトを持つことができます。
EDIT
2 つの異なるプロジェクトの場合、2 つの動的パラメーター (Conf と OutPath としましょう) を持つ共通コード (Release と Debug 用) を含むブロックを作成します。また、db スクリプトの実行を処理する 3 番目のプロジェクトを作成します。この 3 番目のプロジェクトは、リリース 1 のビルドが成功するたびにトリガーされます。このように進めると、デバッグ/リリース ビルドを個別に実行し、スクリプトを個別に (強制ビルドで) およびすべてのリリース ビルドで実行し、最後に (コミットごとに) スクリプトを検証することができます。次のようになります。
<cb:define name="MyProject-Block">
<project name="MyProject - $(Conf)" queue="General" queuePriority="100">
<workingDirectory>D:\MyProject</workingDirectory>
<triggers>
<intervalTrigger seconds="300"/>
</triggers>
<cb:state-block/>
<cb:svn-block svnpath="MyProject"/>
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>D:\MyProject</workingDirectory>
<projectFile>MyProject.sln</projectFile>
<buildArgs>/p:Configuration=$(Conf);OutputPath="$(OutPath)"</buildArgs>
<targets>Clean;Build</targets>
<timeout>600</timeout>
<logger>F:\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
</tasks>
<publishers>
<xmllogger/>
<statistics />
<modificationHistory onlyLogWhenChangesFound="true" />
<cb:email-block/>
</publishers>
</project>
</cb:define>
<cb:MyProject-Block Conf="Debug" OuputPath="..\Compil\Debug" />
<cb:MyProject-Block Conf="Release" OuputPath="..\Compil\Release" />
<project name="MyProject. DbScript" queue="General" queuePriority="110">
<workingDirectory>D:\MyProject\DB</workingDirectory>
<triggers>
<projectTrigger project=" MyProject - Release">
<triggerStatus>Success</triggerStatus>
<innerTrigger name="Eurosport.Business" type="intervalTrigger" seconds="60" buildCondition="ForceBuild" />
</projectTrigger>
<intervalTrigger seconds="300"/>
</triggers>
<cb:state-block/>
<cb:svn-block svnpath="MyProject/DB"/>
<tasks>
<!-- Executing the script here -->
</tasks>
<publishers>
<xmllogger/>
<statistics />
<modificationHistory onlyLogWhenChangesFound="true" />
<cb:email-block/>
</publishers>
</project>