环境
centos
jdk1.8
mysql5.7
Sonarqube6.7
Sonarqube Scanner
一、安装jdk
查看所有安装的软件
# rpm -qa
查看具体的安装的软件
# rpm -qa | grep jdk
卸载安装的软件
# rpm -e --nodeps 软件名称 (openjdk)
强制删除文件
rm -f 文件名
安装jdk
进入目录
cd /
查看所有的目录
ls -la
进入home目录
cd /home
创建soft文件夹
mkdir soft
进入soft文件夹
cd /soft
下载jdk.rpm格式
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
添加权限
chmod +x jdk-8u131-linux-x64.rpm
安装默认路径(/usr/java/)
rpm -ivh jdk-8u131-linux-x64.rpm
cd /usr/java
设置jdk环境变量
vim /etc/profile
输入i,在文件最后添加如下
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
键盘ESC,:wq
让 profile立即生效
source /etc/profile
查看是否安装成功
java -version
安装docker
Centos7下安装Docker(详细的新手装逼教程) - 第二个卿老师 - 博客园
docker安装mysql
Centos下使用Docker部署MySql - SeeThrough - 博客园
docker 配置加速
https://www.jianshu.com/p/09b8fb9be599
二、安装sonarqube6.7
1.下载zip 到/home/soft/
2.解压 使用命令 unzip XX.zip
3.在root 下 把解压的文件移到创建的文件夹下
mv sonarqube-6.7.7 /usr/local/sonarqube(自动创建)
4.在root下创建个用户useradd sonar //新建个普通用户,后面以该普通用户身份起动sonarqube服务
5.在root下 chown -R sonar. /usr/local/sonarqube/
6.在root编辑sonarqube配置文件
cd /usr/local/sonarqube/conf
vi sonar.properties
7.运行脚本启动服务,在root下,进入sonarqube目录
cd /usr/local/sonarqube
sonarqube]# su sonar ./bin/linux-x86-64/sonar.sh start //以普通用户起服务,不然es启动会报错,用法:console、start、status、stop...
su sonar ./bin/linux-x86-64/sonar.sh status
注意:这里立即查看状态,短时间内意义不大,因为一开始显示running,并不代表会一定在后面的时间内running!
也就是说,在启动彻底完成前不可信!什么叫启动"彻底完成"? 见下面:
再次确认:
至此,SonarQube启动成功!
排错说明:可以先跟着sonar.log日志,如果报了es错误,可以去查看es.log;如果报了web错误,那么就是查看web.log。
我在安装的时候,遇见了"root用户无法启动elasticsearch问题","mysql连接问题","版本太低问题",或"内存溢出"...
都可以在日志里有迹可寻。(es.log,web.log跟sonar.log在同一个目录下),
如果以上都没问题,但是浏览器还是不能访问。考虑一下防火墙端口号是否开放,我就遇到这种情况
开启端口号如下
首先 回到root cd /下
[root@localhost /]# systemctl status firewalld.service #查看防火墙状态 running
firewall-cmd --zone=public --list-ports #查看已经开方的端口号 结果只有3306
firewall-cmd --zone=public --add-port=9002/tcp --permanent (--permanent永久生效,没有此参数重启后失效)开启一个端口号
firewall-cmd --reload #重新载入
在此在浏览器输入安装sonarqube服务器的IP:端口号 我的是192.168.233.129:9002 完美打开
默认账号:admin
密码:admin
安装Gitlap
1.安装依赖和设置防火墙
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
2.下载gitlap-ce
进入/home/soft/
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.3.3-ce.0.el7.x86_64.rpm
安装gitlap-ce
rpm -i gitlab-ce-11.3.3-ce.0.el7.x86_64.rpm
修改配置
vim /etc/gitlab/gitlab.rb
设置好后。进入root下 cd /
gitlab-ctl reconfigure
开启权限
chmod -R 755 /var/log/gitlab
开启端口号
firewall-cmd --zone=public --add-port=3033/tcp --permanent
firewall-cmd --zone=public --add-port=3034/tcp --permanent
firewall-cmd --reload
启动gitlab
gitlab-ctl start
http://192.168.153.128:3033/root/orenda_login_test
安装git
安装依赖库
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc-c++ perl-ExtUtils-MakeMaker
查看是否安装过git
# rpm -qa | grep git
卸载Git
# rpm -e --nodeps git
进入cd /home/soft/ 目录
wget https://www.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz
或者通过xshell上传
解压git.tar
# tar -vxf git
解压的Git已到/usr/local/git 下面
# mv git /usr/local/git
进入 cd /usr/local/git 目录下
#make configure
配置项目
# ./configure --prefix=/usr/git
# make profix=/usr/git
# make install
加入环境变量
# echo "export PATH=$PATH:/usr/git/bin" >> /etc/profile
# source /etc/profile
检查版本
# git --version
安装git 2.19.2
# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.19.2.tar.gz
# tar xzf git-2.19.2.tar.gz
# cd git-2.19.2
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
maven安装配置环境变量
本地下载 maven tar 格式 通过xftp上传到soft
tar zxf apache-maven-3.6.1-bin.tar.gz
把解压的文件剪切到/usr/local 下面
mv apache-maven-3.6.1 /usr/local
配置环境变量
vi /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.6.1
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
然后保存退出
:wq!
source /etc/profile
验证
mvn -version
如果不能安装就到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)
1 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
2 rpm -ivh jenkins-2.7.3-1.1.noarch.rpm
配置jenkis的端口
vi /etc/sysconfig/jenkins
找到修改端口号:
JENKINS_PORT="8080" 此端口不冲突可以不修改
开启端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
systemctl start jenkins.service
如果遇到起不来,可以尝试关闭gitlab,在启动sonarqube
完成
jenkins 卸载
systemctl stop jenkins.service
yum clean all
yum -y remove jenkins
rm -rf /var/cache/jenkins
rm -rf /var/lib/jenkins/
1、rpm -e jenkins
rpm -ql jenkins 检查是否卸载成功
2、彻底删除残留文件:
find / -iname jenkins | xargs -n 1000 rm -rf
注意这一步一定要进行!!!
Jenkins启动后
安装sonar-scanner,进入系统管理-插件管理-可选插件-搜索sonar
直接安装,安装后重启jenkins
jenkins配置-系统管理-系统设置-SonarQube servers
SonarQube installations Name:随意命名
Server URL:安装sonarqube服务器地址(我的:http://192.168.233.129:9002)
Server authentication token:点击添加选择Jenkins-配置框如图
secret的获取
登录Sonarqube,进入配置-权限,如图选项,选是
Gitlab配置
打开GitLab,点击“setting”——“Account”,复制“Private token”备用,如下所示:
jenkins配置-系统管理-系统设置-全局工具配置
jenkins创建工作-配置
源码管理-Git配置
cd /
ssh-keygen -t rsa
cd /root/.ssh/
ll
id_rsa私钥
id_rsa.pub公钥
生成公钥和私钥
公钥使用
生成访问Gitlab的ssh秘钥
打开 GitLab,点击右上角的“setting”—— SSH Keys,就可以进入到添加界面,如下所示:
私钥的使用
jenkin源码管理配置Git
jenkins 从git拉取代码 - whendream - 博客园
构建
Analysis properties
#required metadata
#projectKey项目的唯一标识,不能重复。
sonar.projectKey=AutoInterface
#projectName值不能是中文,否则web页面部分是乱码
sonar.projectName=AutoInterface
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
# Java module
sonar.language=java
# .表示projectBaseDir指定的目录
sonar.sources=/var/lib/jenkins/workspace/test_scan_sonar(jenkins拉取的代码工作地址)
sonar.java.binaries=.
项目流程
docker+gitlab+ jenkins+sonarqube 自动化push审计搭建_Jaskzon的博客-CSDN博客