jenkins+maven+sonarqube集成配置

来源:互联网 发布:广州服装开单软件 编辑:程序博客网 时间:2024/05/22 23:29

一、安装篇

1、jdk1.8

2、sonarqube:http://www.sonarqube.org/downloads/

3  mysql数据库

4 maven

5  tomcat8.0

6 git

7 jenkins

二、配置篇

 1 jdk1.8

在profile文件中加入配置
export JAVA_HOME=/usr/java/jdk1.8.0_111
export CLASSPATH=/usr/java/jdk1.8.0_111/lib/dt.jar:/usr/java/jdk1.8.0_111/lib/tools.jar
export PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_111/bin
export JAVA_HOME CLASSPATH PATH

sonarqube


1.打开mysql,新建一个数据库。(不用建表)

2.打开sonarqube安装目录下的 sonarqube-5.3\sonarqube-5.3\conf\sonar.properties文件

3.在mysql5.X节点下输入以下信息

sonar.jdbc.url=jdbc:mysql://192.168.1.90:3306/test?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=wujfcy
sonar.jdbc.password=wujfcy9981
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

url是数据库连接地址,

username是数据库用户名,

jdbc.password是数据库密码,

login是sonarqube的登录名,

sonar.password是sonarqube的密码

4 配置环境变量

export SONAR_HOME=/opt/sonarqube-5.6.6/bin/linux-x86-64
export PATH=$SONAR_HOME/bin:$PATH

5 查看linux 版本选择bin目录下对应的启动文件(配置启动权限 在启动目录下输入  chmod 777  *)

http://localhost:9000/

3 maven

1 linux 环境下安装maven
2 配置环境变量:
export M2_HOME=/opt/maven/apache-maven-3.3.9
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
mvn -v(以下输出表示成功)


4 git

linux 下安装git

[root@skd Downloads]# wget https://www.kernel.org/pub/software/scm/git/git-2.3.5.tar.gz[root@skd Downloads]# tar zxf git-2.3.5.tar.gz[root@skd Downloads]# cd git-2.3.5[root@skd git-2.3.5]# ./configure[root@skd git-2.3.5]# make[root@skd git-2.3.5]# make install[root@skd git-2.3.5]# git --versiongit version 2.3.5

配置环境变量
export PATH=/usr/local/git/bin:$PATH

jenkins 

liunx 下安装jenkins
下载最新的 jenkins (war包)放在tomcat8的webapps下,启动bin目录下的startup。sh(./startup.sh)文件启动jenkins,
访问http://localhost:8080 查看启动 (war包重命名ROOT)

三、使用篇

1 选择系统管理  ----》 插件管理

2 安装 jenkins 插件(如果不能直接下载,可在百度上找到安装包之后选择高级上传安装)在搜索框中输入一下并安装

build timeout plugin

Deploy to container Plugin

Email Extension Plugin
Git plugin
GitLab Plugin
jQuery plugin
Maven Integration plugin
Publish Over SSH
SonarQube Scanner for Jenkins
SSH Slaves plugin
Workspace Cleanup Plugin



3 配置(Global Tool Configuration)


一 maven conflguration 默认即可 
二 jdk配置相关安装目录,输入jenkins使用的别名




三 git配置相关安装目录,输入jenkins使用的别名





四 SonarQuBe Scanner  配置相关安装目录,输入jenkins使用的别名
五 maven  配置相关安装目录,输入jenkins使用的别名 
六 配置完成点击 save




4 配置Credentials

选择 Credentials---》Stores scoped to Jenkins(global)----》add credentials-----》(配置gitleb用户名和密码 输入jenkins服务器生成的 密钥)




5 配置 gitleb  

登陆用户之后选择 Profile Settings ------》ssh keys  ----》(输入公钥和说明)


6 配置 Configure Global Security





7 系统配置 ---》系统设置

主目录:是存放Jenkins所有的文件的,工作空间根目录和构建记录目录默认都是在Jenkins主目录下,这个设置一般不用进行变更
执行者数量:可以并发构建的数量
标记:用来记录这个机器的名称(为了分配节点使用,后面子节点会详细介绍)
用法:设置这个节点的执行策略(包括尽可能使用这个节点和只允许绑定到这台机器的job
生成前等待时间:这个时间为构建开始前的等待时间
scm签出重试次数:使用svn或者git拉取代码失败重试的次数
Restrict project naming:限制项目命名,勾选后可以看到具体设置,可以设置为默认或者使用正则表达式进行限制


environment variables:设置全局变量,在这里定义的全局变量可以在构建或者发送邮件时引用
tool locations:设置全局工具,可以把需要的工具都在这里进行配置,比如maven,ant,jdk等

先在sonarQube中生成tokens,

Generate Tokens---》name =(jenkins中配置的sonarQube 的使用名字)


在jenkins 中配置sonarQube



在jenkins 中配置 gitlab



在jenkins 中配置 Publish over SSH 运行服务器信息






8 新建Project 


jenkins----》新建----》构建一个自由风格的软件项目




设置 erneral 基本配置 
  


配置 gitleb 拉去代码的地址 (选择之前添加好密钥的 用户) 选择要拉取的分支名


构建触发器基本默认


配置构建环境 基本默认即可

配置构建   新增构建---》 选择Execute shell 在Command 中写构建脚本 选择执行jenkins 服务器上的脚本也可以,把数据拉取到jenkins服务器上 在做构建后操作



配置构建后步骤(也叫钩子) 
新增构建后步骤---》Send build artifacts over SSH ---->选择之前在 系统配置中添加好的运行服务器name



新增构建后步骤---》sonarQube artifacts with maven  ---->选择之前在 Global Tool Configuration中配置好的 JDK 和 maven 的name即可



点击保存

四、发布篇

以上都配置好之后 登陆jenkins 如下图 点击立即构建




五、遇坑篇


1 点击立即构建 若是失败可以查看jenkins 日志 (点击对应的构建版本---》View as plain text 查看)

  一 . 一般都是权限不够的问题 注意要给执行文件赋予权限命令 (配置启动权限 在启动目录下输入  chmod 777  *)
 二. 查看 jenkins 服务器上基础工具安装成功与否 环境变量是否配置
 三.配置 jenkins 服务器上git生成的公钥到gitlab 和私钥到jenkins的用户上
 四. 配置 sonarQube 的密钥到jenkins的设置上

2 maven jdk mysql jenkins 版本尽量选高的

3脚本命令 路径问题

jenkins 服务器脚本 :
#!/usr/bin/env bash
JAVA_HOME=/usr/java/jdk1.8.0_111
java=$JAVA_HOME/bin/java
mvn=/opt/maven/mvn/bin/mvn
# 进入代码目录 & 修改配置文件 & 项目打包
cd /root/.jenkins/workspace/jenkins-doctor-209
$mvn clean compile package -Dmaven.test.skip=true

运行服务器脚本:

#!/usr/bin/env bash
JAVA_HOME=/opt/env/jdk8
java=$JAVA_HOME/bin/java
# 直接kill掉原有程序
lsof -i:8181,8484,20880 | grep -v grep | grep -v COMMAND| awk '{print $2}' | xargs kill -9
# 启动程序
BUILD_ID=dontKillMe nohup $java -jar choice-doctor-product/target/choice-doctor-product-0.0.1-SNAPSHOT.jar --server.port=8181 &
sleep 50
BUILD_ID=dontKillMe nohup $java -jar choice-doctor-gateway/target/choice-doctor-gateway-0.0.1-SNAPSHOT.jar --server.port=8484 &


引用文章链接
http://www.cnblogs.com/qiaoyeye/p/5249786.html
http://www.tuicool.com/articles/z6VvQ33
http://www.cnblogs.com/zhcncn/p/4030078.html
http://blog.csdn.net/u010697874/article/details/51859823
原创粉丝点击