我正在运行CruiseControl.NET作为服务,但我正在构建的一些项目使用网络驱动器引用。如在H:...而不是\ machine \ dir。我无法更改项目参考。如何在项目构建之前或者当CruiseControl开始运行时安装H:驱动器?
答案 0 :(得分:1)
从命令行,您可以调用“net use”来设置映射驱动器。您可以在编译代码之前从exec任务运行它。
答案 1 :(得分: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>
备注:强>
我使用默认设置和帐户安装了Cruise Control服务
我将 echo off 然后打开,以防止将用户详细信息放入构建日志中。
我得到了不使用此信件的提示:
Mapping a network drive without hardcoding a drive letter in a batch file
更新:包含的ccnet.config语法
答案 2 :(得分: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