我已经为Microsoft visual basic 6项目配置了subversion和Jenkins。 Subversion包含超过4000个文件。每次构建触发时,Jenkins都会编译4000个文件,即使只有少量文件发生了变化。我编写了一个批处理脚本来编译visual basic 6文件,这些文件将搜索每个文件夹中的*.vpb
个文件。如果*.vpb
,则显示它将编译该文件夹中存在的文件
@echo off
del "D:\buildfiles\log_file.txt"
for /r "D:\jenkins_setup\workspace\project" %%a in (*.vbp) do (
"C:\Program Files\microsoft visualstudio\vb98\vb6.exe" /make %%a /outdir
"D:\buildfiles" /out D:error_log.txt
echo %%a >> "D:\buildfiles\log_file.txt"
)
将此脚本粘贴在jenkins中。
如果来自少数文件夹的文件发生了变化,我希望我的脚本只编译那些文件,而不是所有在Jenkins工作区中存在的4000个文件。为了使这项工作,我还需要添加到我的脚本中吗?
答案 0 :(得分:0)
C
或C++
项目,Jenkins可能会调用make
并向其传递 Makefile 。如果您有Java项目,Jenkins将使用正确的POM或Build脚本调用mvn
,ant
或gradle
。然后,如果需要,可以由单个构建系统重新构建智能。
在您的情况下,它是Visual Basic本身如何处理您的Visual Basic项目文件。我相信构建系统只编译那些最后修改日期和时间比相应目标文件的修改日期和时间更新的文件。
您应该能够进入Jenkins系统,转到该项目的工作目录,并从命令行实际运行构建,看看会发生什么。检查文件日期。您可能还希望将Jenkins项目设置为仅进行更新而不是结帐。