部署Sonarqube并使用Jenkins集成

服务端部署(Dokcer)

安装Docker

网上下载一个docker的安装包,为了省事也可以直接用yum,我比较喜欢用安装包来安装

安装解压安装包,复制文件到*/usr/bin*,复制服务启动脚本到*/usr/lib/systemd/system/*

cd /usr/local/src/
tar -xvf docker-19.03.12.tgz
cp /usr/local/src/docker/* /usr/bin/
cp /usr/local/src/docker.service /usr/lib/systemd/system/

修改容器存放目录

mkdir -p /data/docker

修改docker.service文件,在ExecStart后添加如下内容

--graph=/data/docker --storage-driver=overlay

用systemctl管理docker启停

systemctl start docker		#启动docker
systemctl stop docker		#停止docker
systemctl restart docker	#重启docker
systemctl status docker		#查看docker状态
docker info				   #查看docker信息

镜像加速:

1.修改docker配置文件,我们选用七牛云镜像站,也可以选阿里镜像

2.重启

docker中国官方镜像加速地址:https://registry.docker-cn.com

[root@docker01 ~]# cat /etc/docker/daemon.json
{"registry-mirrors": ["https://reg-mirror.qiniu.com"]}

安装docker-compose

复制文件到*/usr/local/bin/*,赋予执行权限,创建软链接

cp /usr/local/src/docker-compose /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看docker-compose版本

[root@test src]# docker-compose --version
docker-compose version 1.24.1, build 4667896b

服务端部署

使用docker-compose部署Sonarqube的服务端

version: '3'
services:
  postgres:
    image: postgres:latest
    container_name: postgres
    restart: always
    privileged: true
    networks:
      - sonar
    volumes:
      - ./sonar/postgres/postgresql:/var/lib/postgresql
      - ./sonar/postgres/data:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
      POSTGRES_DB: sonar
      TZ: Asia/Shanghai

  sonar:
    image: sonarqube:8.9.10-community
    container_name: sonar
    restart: always
    privileged: true
    networks:
      - sonar
    volumes:
      - ./sonar/sonarqube/logs:/opt/sonarqube/logs
      - ./sonar/sonarqube/conf:/opt/sonarqube/conf
      - ./sonar/sonarqube/data:/opt/sonarqube/data
      - ./sonar/sonarqube/extensions:/opt/sonarqube/extensions
    ports:
      - "9002:9000"
    links:
      - "postgres:postgres"
    environment:
      ALLOW_EMPTY_PASSWORD: "yes"
      SONARQUBE_JDBC_USERNAME: sonar
      SONARQUBE_JDBC_PASSWORD: sonar
      SONARQUBE_JDBC_URL: "jdbc:postgresql://postgres:5432/sonar"

networks:
  sonar:
    driver: bridge

部署完成后打开浏览器,输入服务器的地址:9002进入sonarqube,默认用户密码是admin/admin

我这台服务器是http://192.168.0.176:9002

进入系统后在配置里选择应用商店,搜索chinese安装中文插件

Jenkins集成sonar-scanner

sonar-scanner是用来扫描代码中的bug,也就是客户端

使用链接下载安装包

cd /data/jenkins
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.8.0.2856-linux.zip

解压,并修改配置文件,加上两条:

sonar.host.url=http://192.168.0.176:9002

sonar.sourceEncoding=UTF-8

unzip sonar-scanner-cli-4.8.0.2856-linux.zip
cat sonar-scanner-4.8.0.2856-linux/conf/sonar-scanner.properties 
#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
#sonar.host.url=http://localhost:9000
sonar.host.url=http://192.168.0.176:9002
#----- Default source code encoding
#sonar.sourceEncoding=UTF-8
sonar.sourceEncoding=UTF-8

在sonarqube的我的账号生成一个令牌,生成以后复制一下

在Jenkins中找到系统配置,添加这个sonarqube的url,token中点下面的添加,把刚复制的令牌添加上去

再到全局配置

添加Node js环境和SonarQube Scanner环境

创建任务

创建一个Jenkins任务(自由风格)来测试一下扫描

填上git地址和分支后,下面添加Node环境

构建步骤中选择Execute SonarQube Scanner

选择几个参数,projectKey和projectName可以自己随意命名,但是最好不要有中文

sonar.projectKey=estate4-plateform-server
sonar.projectName= estate4-plateform-server
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE

配置好了以后就可以开始执行这个任务了,执行成功后会可以去服务端查看它的质量了,默认的配置会检测出很多语法问题和代码不规范的问题,后期还可以自己定义检测质量的规则和合格的级别

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins的本地部署非常简单。你可以按照以下步骤进行操作: 1. 首先,从Jenkins官网下载jenkins.war文件\[1\]。 2. 将jenkins.war文件放置在Tomcat的webapps目录下。 3. 启动Tomcat服务器。 4. 在浏览器中输入"http://localhost:端口号/jenkins"来访问Jenkins\[2\]。 5. 在Jenkins的安装向导中,选择推荐插件安装选项,并指定安装路径为/data/local/jenkins/jenkins.war。 6. 安装完成后,你可以使用Jenkins来进行自动化部署等操作。 希望这些步骤对你有帮助!如果你还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* [Jenkins-1 本地部署](https://blog.csdn.net/oJueQiang123456/article/details/90246560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [jenkins实现本地部署](https://blog.csdn.net/wh2827991/article/details/78393965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [jenkins自动化部署项目](https://blog.csdn.net/m0_49159526/article/details/124909264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值