当我创建构建定义时,我设置了一些源设置,例如:
问题是当有人检查构建或安装文件夹时,我希望它触发构建,但包含文件夹只是一些图书馆和它需要的其他项目。当这些库被更改时,我不希望它重新运行。但是我需要在这里设置它们以确保它们被复制到Build drop服务器。有没有办法复制这个包含文件夹,而无需在有人签入此文件夹时强制构建触发器?
答案 0 :(得分:1)
没有简单的方法可以做到这一点。正如您所发现的那样,源设置具有双重功能,它们定义了构建所需的文件集,这些文件是和触发CI的文件集。
我认为这不是问题,如果在您的构建中使用了包含,那么我想在更改时启动新版本,以确保更改不会破坏任何内容构建过程。
答案 1 :(得分:1)
要做到这一点,有两件事要做。
首先,您需要将源文件夹放入以构建为中心的布局中,这将有助于消除尽可能多的重叠。
如果您需要一个不应该触发构建的特定共享文件夹,那么请不要将其包含在源映射中,而是添加一个脚本以将文件下载到您的工作区,作为早期的一部分。建立。
该示例需要更新您的visual studio版本,您应该将源目录传递给脚本。
REM %1 represents the Sources directory
REM Compute variables
SET TfExe="%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe"
REM SET TfExe="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe"
Set RefPath="$/TFS BUILDS/Shapes/Main/Includes"
Set localPath="%~1\Includes"
REM set the Drive Letter for this build
Set Localdrive=%localPath:~1,2%
%Localdrive%
cd %1
REM Map the folders
%TfExe% workfold /map %RefPath% %localPath%
REM Get the required content
%TfExe% get %RefPath%
REM Unmap the folders
%TfExe% workfold /unmap %RefPath%
答案 2 :(得分:0)
在签入时使用特殊关键字***_NO_CI***
进入包含目录。