2014-11-24 44 views
0

我已經去CruiseControl.NET成功地構建了我的解決方案。在構建之前,它會在共享的「assemblyinfo.cs」中增加版本號 - 我編寫了一個自定義命令行實用程序來執行此操作。GIT - 將CruiseControl NET推向原點

我的項目的設置如下:

<sourcecontrol type="git"> 
    <repository>[email protected]: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>[email protected]</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> 

到目前爲止,它是本地提交遞增的版本,但我怎麼得到它推動這一承諾的起源?

UPDATE

我的變化也越來越承諾,他們只是沒有得到推動。當我在SourceTree的構建機器上打開回購時,發現它「從原產地/開發中脫離出來」,我也看到版本正在增加,並且提交被標記,但提交不在我的分支中。

enter image description here

回答

0

你有commitBuildModificationstagOnSuccess導通,從而任何更改將在構建的「發佈」承諾。不需要改變你的配置。

  1. 的變化只會在成功打造
  2. 的變化將構建後承諾,時承諾不
  3. 之前,如果以下任一任務失敗的改變/增量將不承諾。

標記創建成功部分 http://cruisecontrolnet.org/projects/ccnet/wiki/Git

+0

我有commitBuildModifications和tagOnSuccess真實的,它看起來像遞增的版本是越來越致力於和本地標籤,但它只是沒有得到推.. 。我附上了源碼樹的截圖,以幫助解釋我的問題... – Zeus82 2014-11-24 21:54:59

+0

@Jeeve看看源碼:https://github.com/ccnet/CruiseControl.NET/blob/master/project/core/sourcecontrol /Git.cs#L366 ..有一個推動。也許它錯過了一些保存的憑據?我使用共享密鑰推送ssh。 – dna 2015-01-06 13:39:19