代码部署规划

安装jenkins

yum -y install java-1.8.0
cd /etc/yum.repos.d/
wget http://pkg.jenkins.io/redhat/jenkins.repo
rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key
yum install -y jenkins
systemctl start jenkins

访问

http://ip:8080/

安装插件(默认安装即可)

设置用户名和密码 admin lym5401061

安装参考https://www.unixhot.com/article/55

安装支持gitlab插件

PS:插件目录/var/lib/jenkins/plugins jenkins就是通过使用不同插件实现功能

新建一个项目

PS:配置git前需要配置ssh-key验证(参考git学习)

认证配置方式参考jenkins之配置git认证方式

保存,点击立即构建

PS:构建以后把代码放在/var/lib/jenkins/workspace/demo目录

使用控制台输出可以看到构建执行过程

构建下载代码以及工作目录为 /var/lib/jenkins/workspace/项目名称

可以设置构建操作以后的shell也是在这个目录执行的,例如执行以下rsync命令就把代码发布到主机的网站目录里面了(需要提前设置好免密码登录)

持续代码质量管理-Sonar部署

Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
        在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

安装参考:https://www.unixhot.com/article/56

[root@linux-node2 ~]# yum install -y java-1.8.0
[root@linux-node2 ~]# cd /root/tools
# wget https://sonarsource.bintray.co ... 6.zip
[root@linux-node2 src]# unzip sonarqube-5.6.zip
[root@linux-node2 src]# mv sonarqube-5.6 /usr/local/
[root@linux-node2 src]# ln -s /usr/local/sonarqube-5.6/ /usr/local/sonarqube

准备Sonar数据库

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY '123456';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES;

配置Sonar

[root@linx-node2 ~]# cd /usr/local/sonarqube/conf/
[root@linx-node2 conf]# ls
sonar.properties wrapper.conf

编写配置文件,修改数据库配置

[root@linx-node2 conf]# vim sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonae@pw
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

启动Sonar
    你可以在Sonar的配置文件来配置Sonar Web监听的IP地址和端口,默认是9000端口。

[root@linx-node2 conf]# vim sonar.properties
sonar.web.host=0.0.0.0
sonar.web.port=9000
[root@linx-node2 ~]# /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start

访问Sonar
    http://IP:9000

登录用户名和密码为admin admin

安装中文包

PS:安装完在页面重启,需要分析上面语言就要安装该语言的插件比如PHP,Python等 默认带java

PS:MySQL版本要求5.6以上,否则启动Sonar失败

PS:sonar默认插件位置

/usr/local/sonarqube/extensions/plugins

下载sonar-scanner(用于扫描代码)

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

解压,配置

列子代码下载https://github.com/Sonarsource

在下载的测试代码文件夹执行命令 sonar-scanning-examples-master.zip

/usr/local/sonar-scanner/bin/sonar-scanner

在web页面就能看到扫描结果了

  jenkins与sonar结合

  jenkins系统管理-系统配置

  系统管理-全局工具配置 添加scanner

  修改构建配置

  点击立即构建

  控制台输出(之前已经看过)

  代码扫描

  返回工程查看代码分析

  就会切换到代码分析的图

  构建后操作

  

  新建一个项目

持续集成之jenkins的更多相关文章

  1. 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置

    安装Eclipse插件——Buildship 什么是Buildship? Buildship能方便我们通过Eclipse IDE创建和导入Gradle工程,同时还能执行Gradle任务. Eclips ...

  2. 老李分享:持续集成学好jenkins之内置命令

    老李分享:持续集成学好jenkins之内置命令   Jenkins命令调用方式:调用Jenkins命令设置job的描述信息. $JAVA_BIN-jar "$JENKINS_CLI_JAR& ...

  3. 老李分享:持续集成学好jenkins之安装

    老李分享:持续集成学好jenkins之安装   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...

  4. 老李分享:持续集成学好jenkins之解答疑问

    老李分享:持续集成学好jenkins之解答疑问   poptest(www.poptest.cn)在培训的过程中使用jenkins搭建持续集成环境,让学员真正交流持续集成到底是什么,怎么去做的. Je ...

  5. 老李分享:持续集成学好jenkins之Git和Maven配置

    老李分享:持续集成学好jenkins之Git和Maven配置   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  6. 老李分享:持续集成学好jenkins之Git和Maven配置 1

    老李分享:持续集成学好jenkins之Git和Maven配置   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  7. 老李分享:持续集成学好jenkins

    老李分享:持续集成学好jenkins   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试开发工程师就业培训请大 ...

  8. Android持续集成之Jenkins 部署

    Android持续集成之Jenkins 部署 [TOC] 0x00安装 准备工作如下: Tomcat8.5下载地址 Jenkins下载链接 1 将下载的jenkins.war包放至tomcat下的we ...

  9. 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本

    持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...

  10. 持续集成之Jenkins+Gitlab实现持续集成 [二]

    持续集成之Jenkins+Gitlab实现持续集成 [二] 项目:使用git+jenkins实现持续集成 开始构建  General  源码管理 我们安装的是Git插件,还可以安装svn插件  我们将 ...

随机推荐

  1. numpy和Matplotlib篇---2

    原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 5.3 Python的科学计算包 - Numpy numpy(Numerical Python ...

  2. POJ 3273 Monthly Expense(二分搜索)

    Description Farmer John is an astounding accounting wizard and has realized he might run out of mone ...

  3. MySQL on Linux 部署手册

    1. 背景 MySQL为开源数据库,因此可以基于源码实现安装.基于源码安装有更多的灵活性.也就是说我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码,根据不同的软件平台环境调整相关的编 ...

  4. 【代码审计】JTBC(CMS)_PHP_v3.0 任意文件上传漏洞分析

      0x00 环境准备 JTBC(CMS)官网:http://www.jtbc.cn 网站源码版本:JTBC_CMS_PHP(3.0) 企业版 程序源码下载:http://download.jtbc. ...

  5. ASP代码审计学习笔记 -4.命令执行漏洞

    命令执行漏洞: 保存为cmd.asp,提交链接: http://localhost/cmd.asp?ip=127.0.0.1 即可执行命令 <%ip=request("ip" ...

  6. 使用 urllib 处理 HTTP 异常

    (1) 我们发起 HTTP 请求,有时会发生异常,如请求超时,登录密码错误,请求链接不存在等等,使用 urllib.request.URLError 可以捕获这些与 URL 相关的异常(2) urll ...

  7. flask操作mongo两种方式--常规

    #manage.py #coding=utf-8 #Flask-Script是一个可以在flask应用外部编写脚本的扩展 #常用功能: #运行一个开发的服务器 #python shell中操作数据库看 ...

  8. #pragma init_seg

    先进后出原则,最先初始化的最后析构! 1.C++中全局对象.变量的构造函数调用顺序是跟声明有一定关系的,即在同一个文件中先声明的先调用.对于不同文件中的全局对象.变量,它们的构造函数调用顺序是未定义的 ...

  9. Linux配置示例:配置java环境变量

    1.修改/etc/profile文件   如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题. (1)用文本编辑器打开/etc ...

  10. boost::noncopyable介绍

    http://blog.csdn.net/huang_xw/article/details/8248960# boost::noncopyable比较简单, 主要用于单例的情况.通常情况下, 要写一个 ...