目录
一、实验
1.Jenkins使用GitLab共享库实现后端项目Sonarqube
2.优化GitLab共享库
3.Jenkins使用GitLab共享库实现前端项目Sonarqube
二、问题
1.sonar-scanner 未找到命令
2.npm 未找到命令
一、实验
1.Jenkins使用GitLab共享库实现后端项目Sonarqube
(1)已搭建GitLab共享库
① 进入共享库项目
② 封装库目录
(2)Jenkins修改配置
①修改选项参数
②启用SCM并保存
(3)Jenkins安装插件SonarQube Scanner
(4) Sonarqube生成令牌
(5)Jenkins添加凭证
(6)GitLab修改Jenkinsfile
(7)Jenkins手动构建项目
(8)Blue Ocean 查看构建成功
(9)输出结果
(10)Sonarqube已新增项目
2.优化GitLab共享库
(1)GitLab新建Sonar.groovy
(2) 修改Jenkinsfile
(3)Jenkins再次手动发起流水线
(4)Blue Ocean查看
3.Jenkins使用GitLab共享库实现前端项目Sonarqube
(1)Jenkins前端项目开启SCM
(2)添加选项参数
(3)GitLab修改Sonar.grovvy,添加主函数CodeSonar进行分支判断,并添加子函数SonarWeb(前端)
(4)修改Jenkinsfile的“SonarScan”阶段代码,调用主函数CodeSonar
(4)Jenkins 手动发起流水线
(5)Blue Ocean查看
(6)查看日志
(7)Sonarqube已新增项目
二、问题
1.sonar-scanner 未找到命令
(1)报错
(2)原因分析
环境变量
(3)解决方法
修改GitLab的Jenkinsfile文件
修改前:
……
sonar-scanner -Dsonar.host.url=http://192.168.204.8:9000 \
……
修改后:
……
/opt/sonar-scanner-4.8.0.2856-linux/bin/sonar-scanner -Dsonar.host.url=http://192.168.204.8:9000 \
……
2.npm 未找到命令
(1)报错
(2)原因分析
环境变量
(3)解决方法
修改GitLab共享库的Build.grovvy
修改前:
def NpmBuild(){
sh "npm install && npm run build"
}
修改后:
def NpmBuild(){
nodejs("node14.16.1") {
sh "npm install && npm run build"
}
}