如何提取Jenkins管道中的源代码行数?

如何提取Jenkins管道中的源代码行数?,jenkins,groovy,build,jenkins-pipeline,static-analysis,Jenkins,Groovy,Build,Jenkins Pipeline,Static Analysis,我正试图根据每个项目的代码行数为管道中的某些SCA工具配置阈值。我的问题是,计算LOC数量并将其作为参数传递到SCA阶段的最佳方法是什么 我唯一的想法是使用环境变量,但我不确定这些变量是否可以在构建开始后以编程方式设置 谢谢。您可以在Jenkin文件中使用环境{}块来设置环境变量 environment { FOO = 'git@github.com:MyOrg/MyRepo.git' BAR = 'SomeVal' } 然后您可以像这样访问它们: FOO=${env.FOO}

我正试图根据每个项目的代码行数为管道中的某些SCA工具配置阈值。我的问题是,计算LOC数量并将其作为参数传递到SCA阶段的最佳方法是什么

我唯一的想法是使用环境变量,但我不确定这些变量是否可以在构建开始后以编程方式设置

谢谢。

您可以在Jenkin文件中使用环境{}块来设置环境变量

environment {
    FOO = 'git@github.com:MyOrg/MyRepo.git'
    BAR = 'SomeVal'
}
然后您可以像这样访问它们:


FOO=${env.FOO}

我最终使用了一个简单的管道shell脚本来计算每个文件中的行数,并将其存储在一个变量中,如您所述。对于任何单击线程作为标题的人,下面的脚本返回一个表示所有java文件代码行的数字:find./-type f-name*.java-print0 | xargs-0 cat | wc-l