java - 在Jenkins中使用构建工具(Maven和Gradle)使用Fortify SCA

标签 java maven jenkins gradle fortify

最近,我们的团队选择了强化sca来扫描我们的项目。
我们的项目有两种类型的JavaEE(无EJB)和Android。

我们想将扫描步骤添加到CI步骤中。
因此,我添加了这样的脚本以在jenkins构建项目后进行扫描。

sourceanalyzer -b manage_dev -clean
sourceanalyzer -b manage_dev -jdk 1.6 -encoding UTF-8 "src/."
sourceanalyzer -b manage_dev -Xmx4000M -scan -f manage_dev_report.fpr  
ReportGenerator -format pdf -f manage_dev_report.pdf -source manage_dev_report.fpr

但是我不知道如何设置参数-cp(classpath),
由于我们使用的是构建工具,因此依赖库不在我们的源代码中。

我知道有一些要加强的Maven和Gradle插件。
但是我们不想更改构建脚本。

感谢您的所有帮助。

附言我们正在使用HP_Fortify_SCA_and_Apps_4.20和最新版本的jenkins。

最佳答案

这是我的pom.xml文件中对我有用的配置:

<build>
    <plugins> 
        <plugin>
            <groupId>com.fortify.ps.maven.plugin</groupId>
            <artifactId>sca-maven-plugin</artifactId>
            <version>4.30</version>
            <configuration>
                <findbugs>true</findbugs>
                <htmlReport>true</htmlReport>
                <maxHeap>800M</maxHeap>
                <source>myJavaVersion</source>
                <buildId>myBuildId</buildId>
                <verbose>true</verbose>
                <skipTests>true</skipTests>
                <toplevelArtifactId>myTopLevelId</toplevelArtifactId>
            </configuration>
        </plugin>
    </plugins>
</build>

通过使用单个Jenkins作业,您可以编写一个Shell脚本作为第一步:
mvn clean sca:clean -DskipTests
mvn sca:translate -DskipTests

然后将实际的“目标和选项”定义为:
install sca:scan -DskipTests

将它们作为单独的命令行是唯一在 Jenkins 工作中完成sca-clean,翻译和扫描(并将报告文件发送到Fortify)的唯一方法。

希望这也对您有用!

关于java - 在Jenkins中使用构建工具(Maven和Gradle)使用Fortify SCA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27466940/

相关文章:

java - 如果目标操作失败,如何在按钮中显示警报对话框

Java : Pattern How to match any character or symbol in any order between the two braces

ruby - Selenium Webdriver Chromedriver 在 headless 模式下启动超时

java - 在 fragment 链之间传递数据的标准方法

java - JSTL EL - 它从哪里获得值(value)?

java.lang.NoClassDefFoundError : org/hibernate/cache/spi/RegionFactory - When upgrading from spring 3 to spring 4 错误

Eclipse - 找不到父 pom,但 Maven 构建实际上可以从 Eclipse 本身运行

java - 如何获取CucumberOptions当前执行的标签?

jenkins - 我可以将 groovy 脚本从相对目录导入 Jenkinsfile 吗?

svn - 使用 Jenkins 管道中的凭据检查 SVN?