我不认为合并是正确的方法。我会这样做:(1)在所有开发人员(user#)中,在他们自己的机器上,建立ProjectRoot的命名约定(指向user#的代码库,即/home/user#/mycode)和工作目录(即 /local/sharebuild)
(2) 每个用户在自己的机器上使用以下命令: (2a) CLEAN CACHE: ~/sourceanalyzer -b user# -Dcom.fortify.sca.ProjectRoot=/home/user#/mycode -Dcom.fortify.WorkingDirectory= /local/sharebuild/ -logfile /local/sharebuild/user#.sca.log -clean
(2b) 翻译:~/sourceanalyzer -b user# -64 -Xmx11000M -Xss24M -Dcom.fortify.sca.ProjectRoot=/home/ user#/mycode/ -Dcom.fortify.WorkingDirectory=/local/sharebuild/ -logfile /local/sharebuild/user#.sca.log -source 1.5 -cp 'your_class_path' -extdirs '你的 *.war 文件' '/home /user#/mycode/**/*'
(3) 将所有中间代码集成到构建机器:每个用户将他的整个 /local/sharebuild/sca#.## 复制到集中构建机器的目录 /local/sharebuild/sca#.##/build/ 下(你将找到包含所有中间代码树 (.nst) 的子目录 ./user#(每个用户的构建 ID)。
(4) SCAN:在构建服务器上,使用以下命令进行扫描:~/sourceanalyzer -b user1 -b user2 -b user3 -b user# -64 -Xmx11000M -Xss24M -Dcom.fortify.sca.ProjectRoot=/home/user #/mycode/ -Dcom.fortify.WorkingDirectory=/local/sharebuild/ -logfile /local/sharebuild/scan.sca.log -scan -f build_all.fpr
第 4 步将拾取所有 .nst(规范化语法树)文件并执行扫描。
如果每个用户在步骤 2a 将他的代码部分安装到集中式机器上,则可以省略步骤 3。