Jenkins只在计划构建时从subversion进行签出时构建修改后的文件



我已经为Microsoft visual basic 6项目配置了subversion和Jenkins。Subversion包含4000多个文件。每次构建触发时,Jenkins都会编译4000个文件,即使只有很少的文件发生了更改。我已经编写了一个批处理脚本来编译visual basic 6文件,它将在每个文件夹中搜索*.vpb文件。如果出现*.vpb,它将编译该文件夹中的文件

@echo off
del "D:buildfileslog_file.txt"
for /r "D:jenkins_setupworkspaceproject" %%a in (*.vbp) do (
"C:Program Filesmicrosoft visualstudiovb98vb6.exe" /make %%a /outdir 
"D:buildfiles" /out D:error_log.txt
echo %%a >> "D:buildfileslog_file.txt"
)

用詹金斯粘贴了这个脚本。

如果几个文件夹中的文件发生了更改,我希望我的脚本只编译这些文件,而不是Jenkins工作区中的所有4000个文件。为了使这个工作,我还需要在我的脚本中添加什么?

Jenkins本身不编译。这个过程交给了你使用的任何构建软件。例如,如果您有一个CC++项目,Jenkins可能会调用make并向其传递Makefile。如果您有一个Java项目,Jenkins会使用正确的POM或Build脚本调用mvnantgradle。然后,如果需要,将由单个构建系统智能地重建。

在您的案例中,这就是Visual Basic本身处理Visual Basic项目文件的方式。我相信构建系统只编译那些上次修改日期和时间比相应对象文件的修改日期和日期新的文件。

您应该能够进入Jenkins系统,转到该项目的工作目录,并从命令行实际运行构建,看看会发生什么。检查文件日期。您可能还想将Jenkins项目设置为只进行更新,而不是签出。

最新更新