我已经成功地建立了我的解决方案CruiseControl.NET。在构建之前,它会增加共享“assemblyinfo.cs”中的版本号 - 我编写了一个自定义命令行util来执行此操作。
我的项目设置如下:
<sourcecontrol type="git">
<repository>git@source-server.com:repo.git</repository>
<branch>develop</branch>
<autoGetSource>true</autoGetSource>
<fetchSubmodules>true</fetchSubmodules>
<tagOnSuccess>true</tagOnSuccess>
<commitBuildModifications>true</commitBuildModifications>
<commitUntrackedFiles>false</commitUntrackedFiles>
<tagCommitMessage>Auto Build {0}</tagCommitMessage>
<tagNameFormat>Auto-Build-{0}</tagNameFormat>
<committerName>Build Server</committerName>
<committerEMail>test@test.com</committerEMail>
<workingDirectory>C:\Scratch\repo</workingDirectory>
<timeout units="hours">2</timeout>
</sourcecontrol>
<tasks>
<exec>
<!-- Custom version incrementor -->
<executable>C:\Program Files (x86)\CruiseControl.NET\VersionIncrementor.exe</executable>
<buildArgs>C:\Scratch\repo\SharedAssemblyInfo.cs</buildArgs>
<description>Increment Version</description>
</exec>
<devenv>
<solutionfile>C:\Scratch\repo\test.sln</solutionfile>
<configuration>Debug</configuration>
<executable>C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.com</executable>
</devenv>
</tasks>
<publishers>
<xmllogger />
<artifactcleanup cleanUpMethod="KeepLastXBuilds"
cleanUpValue="10" />
</publishers>
到目前为止,它是在本地提交递增版本,但是如何让它将该提交推送到原点?
更新
我的变化已经提交,他们只是没有被推动。当我在SourceTree中打开构建机器上的repo时,看到它“与origin / develop分离”,我也看到版本正在增加并且提交被标记,但是提交不在我的分支中。 / p>
答案 0 :(得分:0)
您已启用commitBuildModifications
和tagOnSuccess
,因此任何更改都将在构建的“发布”期间提交。无需更改配置。
请参阅标记成功构建部分 http://cruisecontrolnet.org/projects/ccnet/wiki/Git