zoukankan      html  css  js  c++  java
  • Jenkins+Sonar质量门禁【部署篇】

    Jenkins+Sonar质量门禁【部署篇】

      老实说,我很少写部署的东西,但是不写,下一篇的实验,可能大家会有点懵逼。长话短说好了~~~

      首先搞这个测试源于11月中旬,领导叫了解学习的一篇文章:超详细,自动化测试接入Jenkins+Sonar质量门禁实践【https://blog.csdn.net/jiangjunsss/article/details/119918932】。(老实说,也并不特别详细,因为有些关键点竟然没有交代,害我翻了很多歪果仁的文章才解决)。

      当时新服务器没买,旧服务器资源又不够,于是决定在docker上拉个jenkins镜像做实验,随时销毁。

    部署完之后,其实就是跑三个docker服务:jenkins、sonarqube和mysql。

    一、jenkins部署 

    1、拉取镜像:docker pull jenkinsci/blueocean:1.24.8

    (jdk在镜像里面自带了,不用额外装)

    2、创建挂载目录

    mkdir -p /home/data/jenkins
    chmod 777 -R /home/data/jenkins/

    3、启动(注意,这条命令后面会逐渐优化

    docker run -dit --name jenkins -u root -p 8089:8080 -p 50000:50000 \
    -v /home/data/jenkins:/var/jenkins_home \
    -v /var/run/docker.sock:/var/run/docker.sock \
    --restart=always --privileged=true \
    jenkinsci/blueocean:1.24.8

    4、配置镜像加速地址

    cat /home/data/jenkins/hudson.model.UpdateCenter.xml
    url改成:
     <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>

    5、各种插件安装(不再累赘)

    6、配置maven(实际上,就是下载解压,然后映射到jenkins容器内,因为要用来maven编译)

    参考:https://blog.csdn.net/piaoniu_1985/article/details/107907503

    7、web 端 Jenkins 配置 maven 地址
    jenkins界面—— 全局工具配置,找到MAVEN_HOME,写在jenkins容器内的maven地址。

    8、重启 jenkins

    docker run -dit --name jenkins -u root -p 8089:8080 -p 50000:50000 \
    -v /home/data/jenkins:/var/jenkins_home \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /opt/maven:/usr/local/maven \
    -v /opt/maven_repository:/usr/local/maven_repository \
    --restart=always --privileged=true \
    jenkinsci/blueocean:1.24.8

    二、sonar部署(mysql+sonar)

    参考:https://www.cnblogs.com/shenh/p/13428029.html

    1、部署mysql

    特意写一下mysql启动命令,因为直接复制文章里的报错:

    docker run --name mysql -d -p 3306:3306 --net sonarqube-tier -v /usr/mysql/conf:/etc/my.cnf.d -v /usr/mysql/logs:/logs -v /usr/mysql/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    --restart always \
    --privileged=true \
    --network-alias mysql \
    mysql:5.7

    注意,启动mysql容器指定了docker 网络 sonarqube-tier,后面的sonar启动也需要

    2、新建sonar库

    mysql -uroot -p'密码'
    
    MySQL [(none)]> grant all privileges on sonar.* to admin@'%'  IDENTIFIED BY 'admin';
    
    MySQL [(none)]> grant all privileges on sonar.* to admin@'localhost'  IDENTIFIED BY 'admin'; 

     3、sonar启动

    docker run -d --name sonar -p 9090:9000  -e ALLOW_EMPTY_PASSWORD=yes  -e SONARQUBE_DATABASE_USER=sonar  -e SONARQUBE_DATABASE_NAME=sonar  -e SONARQUBE_DATABASE_PASSWORD=sonar  -e SONARQUBE_JDBC_URL="jdbc:mysql://安装sonar服务端的服务器ip:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" --net sonarqube-tier --privileged=true -v /data/sonarqube/logs:/opt/sonarqube/logs -v /data/sonarqube/conf:/opt/sonarqube/conf -v /data/sonarqube/data:/opt/sonarqube/data -v /data/sonarqube/extensions:/opt/sonarqube/extensions sonarqube:7.4-community

    另外配置一下sonar中文汉化包,放到宿主机这个目录:/data/sonarqube/extensions/plugins

      部署完之后,假设服务器ip为:192.168.2.12,浏览器理应能访问

    1、jenkins地址:  192.168.2.12:8089

    2、sonar地址:192.168.2.12:9090

  • 相关阅读:
    AJ学IOS(47)之网易彩票帮助界面UIWebView的运用
    AJ学IOS(46)之网易彩票幸运大转盘
    AJ学IOS(45)之常用的小功能比如打电话、打开网址、发邮件、发短信打开其他应用。
    AJ学IOS(44)之网易彩票自定义图片在右边的Button_弹出view_ios6,7简单适配
    AJ学IOS(43)之网易彩票底部自定义TabBar实现切换
    AJ学IOS(42)UI之核心动画CAAnimationGroup以及其他
    数组扁平化方法
    Echart数据转换(水平数据变成垂直数据)
    划重点简易版
    获取鼠标点击位置坐标
  • 原文地址:https://www.cnblogs.com/windysai/p/15738168.html
Copyright © 2011-2022 走看看