持续集成交付CICD:Sonarqube多分支代码扫描

目录

一、实验

1.Sonarqube安装插件

2.Sonarqube多分支代码扫描


一、实验

1.Sonarqube安装插件

(1)不同软件版本对应不同插件版本

(2)插件对应版本下载安装

将下载好的插件包(sonarqube-community-branch-plugin-1.12.0)移动到插件目录下即可
 /opt/sonarqube-9.6.1.59531/extensions/plugins/
 
然后重启一下sonarqube服务即可
sudo -u sonar /opt/sonarqube-9.6.1.59531/bin/linux-x86-64/sonar.sh restart

增加权限

chmod 777 sonarqube-community-branch-plugin-1.12.0.jar 

(3)修改配置文件

vim sonar-scanner.properties 

sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.12.0.jar=web

sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.12.0.jar=ce

(4)重新启动

(5)已新增分支功能

2.Sonarqube多分支代码扫描

(1)本地扫描1.2.1分支代码

sonar-scanner -Dsonar.host.url=http://192.168.204.8:9000 \
-Dsonar.projectKey=devops03-maven-service \
-Dsonar.projectName=devops03-maven-service \
-Dsonar.projectVersion=1.2 \
-Dsonar.login=admin \
-Dsonar.password=Admin123 \
-Dsonar.ws.timeout=30 \
-Dsonar.projectDescription="my first project" \
-Dsonar.links.homepage=http://192.168.204.8:82/devops03/devops03-maven5-service \
-Dsonar.links.ci=http://192.168.204.15:8080/job/devops03/job/devops03-maven-service/ \
-Dsonar.sources=src \
-Dsonar.sourceEncoding=UTF-8 \
-Dsonar.java.binaries=target/classes \
-Dsonar.java.test.binaries=target/test-classes \
-Dsonar.java.surefire.report=target/surefire-reports \
-Dsonar.branch.name=release-1.2.1

(2)本地扫描1.2.2分支代码

sonar-scanner -Dsonar.host.url=http://192.168.204.8:9000 \
-Dsonar.projectKey=devops03-maven-service \
-Dsonar.projectName=devops03-maven-service \
-Dsonar.projectVersion=1.2 \
-Dsonar.login=admin \
-Dsonar.password=Admin123 \
-Dsonar.ws.timeout=30 \
-Dsonar.projectDescription="my first project" \
-Dsonar.links.homepage=http://192.168.204.8:82/devops03/devops03-maven5-service \
-Dsonar.links.ci=http://192.168.204.15:8080/job/devops03/job/devops03-maven-service/ \
-Dsonar.sources=src \
-Dsonar.sourceEncoding=UTF-8 \
-Dsonar.java.binaries=target/classes \
-Dsonar.java.test.binaries=target/test-classes \
-Dsonar.java.surefire.report=target/surefire-reports \
-Dsonar.branch.name=release-1.2.2

(3)Sonarqube查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CICD(Continuous Integration and Continuous Deployment)是一种软件开发实践,旨在通过自动化的构建、测试和部署流程,实现持续集成和持续交付的目标。下面是CICD的全程流程: 1. 代码管理:开发团队使用版本控制系统(如Git)来管理代码。他们可以在不同的分支上进行开发,并使用合并请求来将代码合并到主分支。 2. 自动化构建:当有新的代码提交或合并请求时,自动化构建工具(如Jenkins或GitLab CI)会触发构建流程。构建流程会从源代码中拉取最新的代码,并编译、打包应用程序或库。 3. 自动化测试:构建完成后,自动化测试工具会运行各种测试(如单元测试、集成测试和端到端测试)来验证代码的质量。这些测试可以帮助开发人员及早发现潜在的问题。 4. 静态代码分析:在构建和测试过程中,可以使用静态代码分析工具来检查代码中的潜在问题,如代码风格违规、潜在的安全漏洞等。 5. 部署到测试环境:如果所有的构建和测试都通过了,应用程序或库将被部署到测试环境中。这个环境可以是一个模拟生产环境的环境,用于进一步的验证和测试。 6. 自动化部署和发布:一旦应用程序或库在测试环境中通过了所有的测试,它可以自动地部署和发布到生产环境中。这个过程可以使用自动化部署工具(如Ansible、Chef或Kubernetes)来完成。 7. 监控和反馈:在应用程序或库运行在生产环境中,监控工具可以收集和分析运行时的数据,如性能指标、错误日志等。这些数据可以帮助开发团队及时发现和解决问题,并提供反馈来持续改进应用程序或库的质量和性能。 通过CICD的全程流程,开发团队可以实现快速、可靠和高质量的软件交付,并能够频繁地部署新的功能和修复bug。这种实践可以显著提高开发效率和软件质量,同时减少人工操作和人为错误的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值