2010-09-28 93 views
1

我正在将CruiseControl.NET作为服务运行,但我正在使用网络驱动器构建参考项目。如在H中:...而不是\ machine \ dir。我无法更改项目引用。如何在项目构建之前挂载H:驱动器,或者CruiseControl开始运行时?CruiseControl.NET和安装驱动器

回答

0
在我的ccnet.config

<exec> 
     <executable>setup_build.cmd</executable> 
     <baseDirectory>&BaseDIR;\CruiseControlNET</baseDirectory> 
     <buildArgs>&BaseDIR;\AllProjectsTFS</buildArgs> 
     <buildTimeoutSeconds>&BuildTimeoutInSeconds;</buildTimeoutSeconds> 
</exec> 

我检查了SVN下我的CruiseControlNet目录下的setup_build.cmd(设置如下:http://confluence.public.thoughtworks.org/display/CCNET/Configure+CruiseControl.Net+to+Automatically+Update+its+Config+File

setup_build.cmd包含:

@ECHO OFF 

:CHECK_PARAMETERS 
IF "%1"=="" GOTO SYNTAX 

:PRINT_PARAMETERS 
SET BASE_DIRECTORY=%1 
ECHO PARAMETERS: 
ECHO BaseDirectory: %BASE_DIRECTORY% 
ECHO. 

:ARTIFACTS_DIRECTORY 
ECHO CREATING ARTIFACTS DIRECTORY: 
SET ARTIFACTS_DIR=%BASE_DIRECTORY%\Artifacts 
ECHO Creating Artifacts Directory in: %ARTIFACTS_DIR% 
IF EXIST %ARTIFACTS_DIR% RMDIR /S /Q %ARTIFACTS_DIR% 
MKDIR %ARTIFACTS_DIR% 
ECHO SUCCESS 
ECHO. 

:SETUP_NETWORK_DRIVES 
ECHO MAPPING NETWORK DRIVES: 
IF NOT EXIST H: NET USE H: \\server\share 
NET USE 
GOTO END 

:SYNTAX 
ECHO Wrong Arguments: 
ECHO SYNTAX: setup_build.cmd [BASE_DIRECTORY] 
EXIT /B -1 

:END 
EXIT /B 0 
1

从命令行中,可以调用“net use”来设置映射驱动器。编译代码之前,您可能可以从exec任务运行此操作。

1

我已经测试了以下.bat文件,它使用的罚款:
- CruiseControl.Net版本1.5.7256.1
- 从<exec>任务运行.bat文件。

.bat文件

ECHO OFF 
NET USE \\Server\data /USER:domain\user password 
ECHO ON 
C:\utils\robocopy.exe C:\build\data \\Server\data *.* 

的ccnet.config

<project name="ProjectName"> 
    <!-- snip --> 
    <tasks> 
     <!-- snip --> 
     <exec> 
      <executable>deploy.bat</executable> 
      <baseDirectory>Configuration\</baseDirectory> 
      <buildArgs></buildArgs> 
      <buildTimeoutSeconds>60</buildTimeoutSeconds> 
      <successExitCodes>0,1,2,3,4,5,6,7,8</successExitCodes> 
     </exec> 


注:
我使用默认设置和安装帐户巡航控制服务。
我打开回显关闭,然后关于,以防止用户的详细信息被放入生成日志。

我得到了一丝不从这个使用驱动器号:
Mapping a network drive without hardcoding a drive letter in a batch file

更新:包括的ccnet.config语法

+0

请问你的ccnet.config文件中使用呢?或者你在开始CCNET服务之前运行它? – Denis 2011-03-24 19:31:41

+0

感谢您发布您的ccnet.config,就像我做的一样 – 2011-10-18 04:22:44