круиз-контроль - как выполнить командный файл в круиз-контроле и как опубликовать в другой папке с помощью круиз-контроля - PullRequest
1 голос
/ 17 июня 2009

1. Я получаю ошибку ниже при выполнении командного файла в круиз-контроле:

<exception><![CDATA[ThoughtWorks.CruiseControl.Core.Tasks.BuilderException: Command Line Build timed out (after 600 seconds)

код, который я использовал:

 <exec>
    <executable>D:\DITBUILT.bat</executable>
 </exec>

2.Я хочу опубликовать в другой папке с помощью круиз-контроля .. Я использую код ... Я не могу опубликовать в другой папке

<executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe</executable>
<workingDirectory>D:\Cas_CC\SourceCode\PolandSME-MAIN\SRC\UI</workingDirectory>
<projectFile>CAS.sln</projectFile>
<buildArgs> /p:Configuration=Release /p:Platform="Any CPU" </buildArgs>      
<targets>Build</targets>
<logger>ThoughtWorks.CruiseControl.MsBuild.XmlLogger,D:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>

Пожалуйста, помогите мне

  1. как опубликовать в другой папке с помощью круиз-контроля
  2. как выполнить командный файл с помощью круиз-контроля ...

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 17 июня 2009

Ошибка, которую вы получаете с командным файлом, может быть устранена с помощью cmd.exe в качестве исполняемого файла и "/ c D: \ DITBUILT.bat" в качестве аргументов?

1 голос
/ 04 августа 2010

Я бы порекомендовал использовать круиз-контроль с NANT.

<tasks>
      <nant>
        <executable>C:\Nant\Nant0.86\bin\nant.exe</executable>
        <baseDirectory>.</baseDirectory>
        <buildFile>C:\NANT_SCRIPTS\build.xml</buildFile>
        <targetList>
          <target>YourProject_Publish</target>
        </targetList>
        <buildTimeoutSeconds>2000</buildTimeoutSeconds>
      </nant>
    </tasks>

В вашем файле build.xml вы можете использовать команды NANT для выполнения ваших файлов bat или делать что-то еще. Он также поддерживает структуру 3.5.

 <exec program="C:\NANT_SCRIPTS\publish\YourProject.bat" />
    <delete dir="${web01}\yourSite.com\WebFolder" />
    <copy todir="${web01}\yourSite.com\WebFolder" >
      <fileset basedir="C:\CruiseControl\ProjectFolders\YourProject\Website" >
        <include name="*.aspx" />
        <include name="*.config" />
        <include name="*.master" />
        <include name="*.asax" />
        <include name="*.ascx" />
        <include name="*.sitemap" />
      </fileset>
    </copy>
...