容器化部署Sonarque部署

目前的架构

  • 先部署Docker
  • 容器化部署Jenkins
  • 容器化部署sonarqube
一、部署docker这步骤省略,直接参考官方文档,或者参考之前文章

https://www.cnblogs.com/bangbangzoutianya/p/15644934.html

二、容器化部署Jenkins,参考之前文章

https://www.cnblogs.com/bangbangzoutianya/p/16734000.html

docker run --name my_jenkins -p 8080:8080 -p 50000:50000 -d  --env JAVA_OPTS=-Duser.timezone=Asia/Shanghai -v /usr/local/my_jenkins/:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker --privileged=true --restart=always jenkins/jenkins
三、容器化部署sonarqube,参考官方文档

https://docs.sonarqube.org/latest/setup-and-upgrade/install-the-server/image

docker volume create --name sonarqube_data
docker volume create --name sonarqube_logs
docker volume create --name sonarqube_extensions
#运行容器
docker run --name my_sonarqube -d \
    -p 9000:9000 \
    -v sonarqube_extensions:/opt/sonarqube/extensions \
    --restart=always sonarqube
四、这里使用的宿主机的.net sdk
#在宿主机上安装dotnet-sonarscanner
dotnet tool install --global dotnet-sonarscanner
五、设置环境变量
#配置环境变量
vim /etc/profile
export PATH=/home/XX/.sonarqube/bin:$PATH
export PATH=/home/XX/.dotnet/tools/.store/dotnet-sonarscanner/5.11.0:$PATH

#使得配置文件生效
source /etc/profile
六、安装JDK ,这里安装JDK11,安装参考

https://www.cnblogs.com/bangbangzoutianya/p/17198864.html

七、编写一个shell脚本,到时候Jenkins远程到该宿主机进行执行该脚本
#ProjectName =》替换成自己的的扫描项目
#sonar.host.url 替换成自己的sonarqube地址
#sonar.verbose=true 可以查看扫描时的详细信息
#sonar.login 替换成sonarqube的token,这里的token需要登录到sonarqube—用户—安全里去创建
dotnet sonarscanner begin /k:"ProjectName" /d:sonar.host.url=http://192.168.0.XX:9000  /d:sonar.verbose=true /d:sonar.login="squ_e830d34d2712a7976d44f99dafde5e760"
dotnet build /usr/local/my_jenkins/workspace/test/XX/XX.csproj
dotnet sonarscanner end /d:sonar.login="squ_e830d34d2712a7976d44f99dafde5e760f"
八、进入Jenkins创建一个构建项目,远程到宿主机,使用publish over ssh插件
#远程到宿主机构,执行之前宿主机的shell脚本
#但是这里有一个问题,宿主机已经安装了dotnet-sonarscanner、java 但是执行的时候还是提示找不到命令,然后再执行脚本前又把环境变量设置下
export JAVA_HOME=/usr/local/java/jdk-11.0.17
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
bash XXX.sh

image

九、登录到sonarqube查看项目的扫描报告
十、扫描报告有一个警告,所以需要再到宿主机安装一个node.js

JavaScript/TypeScript/CSS rules were not executed. Error when running: 'node -v'. Is Node.js available during analysis?

十一、安装node.js
vi /etc/profile
export NODE_HOME=/usr/local/nodejs/node-v18.15.0-linux-x64
export PATH=${NODE_HOME}/bin:$PATH
#使配置文件生效
source /etc/profile
  • 查看是否安装成功node --version
十二、再把Jenkins 远程调用宿主机命令里加上nodejs的环境变量
export JAVA_HOME=/usr/local/java/jdk-11.0.17
export PATH=${JAVA_HOME}/bin:$PATH
export NODE_HOME=/usr/local/nodejs/node-v18.15.0-linux-x64
export PATH=${NODE_HOME}/bin:$PATH
source /etc/profile
bash XX.sh

image

十三、经过后面测试发现,在Jenkins远程宿主机执行shell命令的时候,只需要加一句source /etc/profile就可以了,如果只加一句不行的话,到时候再把环境变量加上,因为扫描的时候会用到比如jdk node.js命令这些分析对应的文件代码
source /etc/profile
bash XX.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值