2009-10-22 5 views
4

Мне хотелось бы передать конкретную ревизию задачи SVN (в ccnet.config), что я хочу, чтобы сервер сборки проверял SVN и строит. Поэтому мне не всегда нужна последняя ревизия. И нет, я не хочу создавать тег для каждой успешной сборки.Блок Subversion в CruiseControl.NET - передача определенного номера версии?

Глядя на элементы конфигурации здесь: http://ccnet.sourceforge.net/CCNET/Subversion%20Source%20Control%20Block.html

И я не вижу ничего, что позволяет мне сделать это. Идея состоит в том, чтобы иметь возможность передать необязательный параметр (используя Dynamic Properties в 1.5) и просто передать это во что-то для задачи SVN. Возможно ли это вообще с текущим плагином CCNET SVN? Мне что-то не хватает?

ответ

4

Вы можете настроить свою собственную задачу exec для извлечения источника из подрывной программы, а не с помощью блока sourceControlProvider. Это позволит вам получить любой вариант, который вам нужен.

Если вы все еще хотите использовать блок sourceControlProvider для запуска сборки, установите autoGetSource = "false". Однако, видя, что вы хотите создать конкретную ревизию, я не знаю, будет ли полезной функция запуска sourceControlProvider.

+0

Have вы получили блок кода пример для этого? – Andrew

8

Может быть легко достигнуто непосредственно с помощью сценариев CCNET таким образом:

<project name="whatever"> 
    <parameters> 
     <textParameter name="VersionToBuild"> 
      <display>SVN Version to Build</display> 
      <description>Which SVN version to Build?</description> 
      <default>HEAD</default>   
      <required>true</required> 
     </textParameter> 
    </parameters> 

    <sourcecontrol type="svn"> 
     <trunkUrl>http://svnrepo.mydomain.com:80/svn/myProject/[email protected]$[VersionToBuild]</trunkUrl> 
     <workingDirectory>c:\Checkout\myProjectTrunk</workingDirectory> 
     <executable>c:\Subversion\bin\svn.exe</executable> 
     <username>dummy</username> 
     <password>dummy</password>  
    </sourcecontrol> 
</project>