2013-04-25 193 views
0

下面是我的配置,即使我通过执行检入来强制构建,程序集的版本号也不会更新。CCNet AsseblyInfo更新不起作用。我的配置有问题吗?

可能我错过了一些东西。

注意:新建立服务器,这是我的第一个。我们在不同的项目下有很多Assemblyinfo.cs文件。

我需要使用msbuildtaks来解决这个问题吗?如果是的话,你可以帮助一个例子。

<cruisecontrol xmlns:cb="urn:ccnet.config.builder" xmlns="http://thoughtworks.org/ccnet/1/8"> 
<!-- preprocessor settings --> 
<cb:define ArtifactsDir="\Artifacts" /> 
<cb:define ProductNameCompanySvnPath = "D:\CompanySvn\Trunk\Source\"/> 
<cb:define TortoiseSvnExe = "C:\Program Files\TortoiseSVN\bin\svn.exe"/> 
<cb:define SvnPathToBuild = "http://dummy.mummy.com/svn/Company/branches/Branch-meau/" /> 
<cb:define NantExecutablePath = "C:\Program Files\NANT\bin\nant.exe"/> 
<cb:define BranchNameCI="_BR_Meau_CI"/> 
<cb:define BuildMode = "Release"/> 
<cb:define PlatformCpu = "X86"/> 
<cb:define MsBuildExecutable = "C:\Windows\Microsoft.NET\Framework64\v3.5\msbuild.exe" /> 
<cb:define MajorVersionNumber = "4"/> 
<cb:define MinorVersionNumber = "1"/> 

<cb:define name="svn_ci_ProductName"> 
    <executable>$(TortoiseSvnExe)</executable> 
    <workingDirectory>$(ProductNameCompanySvnPath)ProductName.Company\</workingDirectory> 
    <trunkUrl>$(SvnPathToBuild)ProductName.Company/</trunkUrl> 
    <cleanUp>true</cleanUp> 
    <autoGetSource>true</autoGetSource> 
</cb:define> 
<cb:define name="svn_ci_Database"> 
    <executable>$(TortoiseSvnExe)</executable> 
    <workingDirectory>$(ProductNameCompanySvnPath)Database\</workingDirectory> 
    <trunkUrl>$(SvnPathToBuild)Database/</trunkUrl> 
    <cleanUp>true</cleanUp> 
    <autoGetSource>true</autoGetSource> 
</cb:define> 
<cb:define name="svn_ci_ThirdParty"> 
    <executable>$(TortoiseSvnExe)</executable> 
    <workingDirectory>$(ProductNameCompanySvnPath)ThirdParty\</workingDirectory> 
    <trunkUrl>$(SvnPathToBuild)ThirdParty/</trunkUrl> 
    <cleanUp>true</cleanUp> 
    <autoGetSource>true</autoGetSource> 
</cb:define> 
<cb:define name="svn_ci_Release"> 
    <executable>$(TortoiseSvnExe)</executable> 
    <workingDirectory>$(ProductNameCompanySvnPath)Release\</workingDirectory> 
    <trunkUrl>$(SvnPathToBuild)Release/</trunkUrl> 
    <cleanUp>true</cleanUp> 
    <autoGetSource>true</autoGetSource> 
</cb:define> 
    <project name="Company_SVN_Build" description="Build Trunk after merge."> 
    <workingDirectory>$(ProductNameCompanySvnPath)ProductName.Company\</workingDirectory> 
    <!--<triggers> 
    check the source control every X time for changes, and run the tasks if changes are found 
     <intervalTrigger name="continuous" seconds="30" buildCondition="IfModificationExists" initialSeconds="5"/> 
    </triggers>--> 
    <triggers> 
     <intervalTrigger name="continuous" seconds="180" buildCondition="IfModificationExists" initialSeconds="30" /> 
    </triggers> 
    <labeller type="assemblyVersionLabeller"> 
     <major>$(MajorVersionNumber)</major> 
     <minor>$(MinorVersionNumber)</minor> 
     <incrementOnFailure>true</incrementOnFailure> 
    </labeller> 
    <!-- get all the souce from the branch required to build the binaries. --> 
    <sourcecontrol type="multi"> 
    <sourceControls> 
     <svn> 
     <cb:svn_ci_ProductName/> 
     </svn> 
     <svn> 
     <cb:svn_ci_Database/> 
     </svn> 
     <svn> 
     <cb:svn_ci_ThirdParty/> 
     </svn> 
     <svn> 
     <cb:svn_ci_Release/> 
     </svn> 
    </sourceControls> 
    </sourcecontrol> 
    <tasks> 
     <msbuild> 
      <executable>$(MsBuildExecutable)</executable> 
      <projectFile>$(ProductNameCompanySvnPath)ProductName.Company\ProductName.Company.sln</projectFile> 
      <buildArgs>/p:Configuration=Release /p:Platform=$(PlatformCpu) /v:diag</buildArgs> 
      <targets>clean</targets> 
      <timeout>9000</timeout> 
      <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
     </msbuild> 
     <msbuild> 
      <executable>$(MsBuildExecutable)</executable> 
      <projectFile>$(ProductNameCompanySvnPath)ProductName.Company\ProductName.Company.sln</projectFile> 
      <buildArgs>/p:Configuration=Release /p:Platform=$(PlatformCpu) /v:diag</buildArgs> 
      <targets>Build</targets> 
      <timeout>9000</timeout> 
      <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
     </msbuild> 
     <exec> 
      <executable>Prepare_ProductName_Release.bat</executable> 
      <baseDirectory>$(ProductNameCompanySvnPath)Release</baseDirectory> 
      <buildArgs>all</buildArgs> 
      <buildTimeoutSeconds>100</buildTimeoutSeconds> 
     </exec> 
    </tasks> 
    <!-- all plublishers are listed below --> 
    <publishers> 
     <xmllogger /> 
     <artifactcleanup cleanUpMethod="KeepLastXBuilds" cleanUpValue="50" /> 
    </publishers> 
    </project> 
<!-- End Projects --> 
</cruisecontrol> 
+0

尝试我的msbuild/svn标记代码在这里:http://stackoverflow.com/questions/1160/use-svn-revision-to-label-build-in-ccnet/12481921#12481921 – granadaCoder 2013-04-29 13:54:21

回答

0

如果我读这正确:

CC.NET不会标记您的AssemblyInfo.cs文件。你必须自己做。 CC.NET上下文中的“版本”是版本的Cardinal/Ordinal编号。你的第一个版本将是“1”,那么“2”,等等,等等

看到我的AssemblyInfo.cs“标记”这里的例子: Use SVN Revision to label build in CCNET

我喜欢用SVN修订添加标签。您可以使用CC.NET版本。

我认为CC.NET的方式是“一个超级大花哨的msbuild调用者”,带有一些构建报告“。