jenkins+maven+sonarqube集成配置
来源:互联网 发布:广州服装开单软件 编辑:程序博客网 时间:2024/05/22 23:29
一、安装篇
1、jdk1.8
2、sonarqube:http://www.sonarqube.org/downloads/
3 mysql数据库
4 maven
5 tomcat8.06 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
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
2 sonarqube
1.打开mysql,新建一个数据库。(不用建表)
2.打开sonarqube安装目录下的 sonarqube-5.3\sonarqube-5.3\conf\sonar.properties文件
3.在mysql5.X节点下输入以下信息
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 *)
6 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
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
3 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
5 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
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:限制项目命名,勾选后可以看到具体设置,可以设置为默认或者使用正则表达式进行限制
用法:设置这个节点的执行策略(包括尽可能使用这个节点和只允许绑定到这台机器的job
生成前等待时间:这个时间为构建开始前的等待时间
scm签出重试次数:使用svn或者git拉取代码失败重试的次数
Restrict project naming:限制项目命名,勾选后可以看到具体设置,可以设置为默认或者使用正则表达式进行限制
二
environment variables:设置全局变量,在这里定义的全局变量可以在构建或者发送邮件时引用
tool locations:设置全局工具,可以把需要的工具都在这里进行配置,比如maven,ant,jdk等
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
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 &
引用文章链接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
阅读全文
0 0
- jenkins+maven+sonarqube集成配置
- 配置SonarQube,Jenkins集成扫描Android项目
- Centos7+svn+jenkins+maven+nexus+SonarQube+docker持续集成高级配置(三)
- Maven-sonarqube-jenkins-git 持续集成开发环境的搭建
- Jenkins+svn+maven+SonarQube+MySQL
- Centos7+svn+jenkins+maven+nexus+SonarQube+docker持续集成安装(一)
- Centos7+svn+jenkins+maven+nexus+SonarQube+docker持续集成安装(二)
- 配置sonarqube+maven
- jenkins集成sonarqube代码质量跟踪分析
- 持续集成Jenkins+sonarqube部署教程
- sonarqube安装使用与jenkins集成
- sonarQube之jenkins可持续化集成
- jenkins + sonarQube 集成 检测代码质量
- jenkins+maven+tomcat持续集成配置
- Windows+SonarQube+Jenkins+Git+SonarPython配置持续集成的代码质量平台
- 代码质量管理:SonarQube + Jenkins Pipeline配置
- SonarQube+Jenkins
- jenkins+SonarQube
- Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现
- 面试题15连表中倒数第k个结点
- Win32获取屏幕可用尺寸/获取桌面可用区域 (即除去任务栏的区域)
- [Sencha Touch/ExtJS] (函数节流)阻止用户快速频繁点击,导致多次触发点击事件
- 降序索引
- jenkins+maven+sonarqube集成配置
- 操作系统的进一步发展
- JS中Number数据类型
- 装饰者模式
- java中的多态
- 使用partx重读磁盘分区信息及自动挂载分区的方法
- Cloud Service
- 弹跳变形的进度效果
- 常见的消费者促销(CP类)形式