超级详细!图文,持续集成,gitlab+jenkins-pipeline+sonar,centos7虚拟机搭建

	刚来公司没多久,就被公司派到外地驻点上班,上个月跟我一起驻点的主管同事给了我一个任务:	现在驻点和别人一起搞开发,我们团队的代码都完成之后再把代码提交到他们的git,所以我们这几个驻点的需要自己另外搭建一个代码仓库,合并代码后将我们代码提交到他们的git仓库。
	在我们自己的代码仓库里,需要能够持续集成,我搭建的持续集成里面的步只有一个:maven项目代码扫描。sonar里面包含了几百条java代码规范规则,还有一些功能测试还没有用到。
	下面,从0开始搭建,以及一些遇到的问题和解决方法,以centos7为例:

搭建前配置系统:

	sonar需安装jdk11
	systemctl stop firewalld	#关闭防火墙
	systemctl disable firewalld		#关闭防火墙开机启动

安装配置gitlab:

下载链接https://packages.gitlab.com/gitlab/gitlab-ce/
wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/xxx.rpm #下载包

rpm -ivh ./xxx.rpm #安装rpm包

vi /etc/gitlab/gitlab.rb #找到external_url这行,将地址改为你当前机器的地址
记得把注释去掉
gitlab-ctl reconfigure #初始化gitlab

gitlab-ctl start #启动gitlab服务

systemctl enable gitlab-runsvdir.service #设置开机启动

systemctl restart gitlab-runsvdir.service #重启服务

到此为止gitlab已安装完成

然后,在windows使用git拉取代码,下面安装git工具:

git下载地址https://git-scm.com/download/win

乌龟工具下载地址:https://tortoisesvn.net/downloads.html

先安装git再安装乌龟工具
在这里插入图片描述

到此为止git工具已安装完成

最后就是,git工具如何拉取gitlab里面的代码了:

想要在gitlab拉取代码,首先里面要先有代码,从第一次登陆gitlab开始说起。

gitlab第一次登陆的时候会让你输入密码和邮箱,不管你的邮箱帐号是多少,密码最好都统一,我的密码是asd123asd,因为gitlab、jenkins和sonar都需要登录,最好统一以免混乱。

1.首先新建用户,图中标有点击顺序,New user里面具体怎么弄可以自己看着办
2.新建组,我这里理解的组是 项目组
在这里插入图片描述在这里插入图片描述点击最下面绿色按钮就创建完成了。

3.将user添加到group里面
在这里插入图片描述添加完成后,该用户就在test-group组里面了

4.新建项目
在这里插入图片描述项目创建完成后,随便加一点文件
在这里插入图片描述5.拉取、推送代码

拉取推送都需要验证密码,这里使用sshkey免验证

生成sshkey:

桌面空白处右击,选择Git Bash Here

输入 ssh-keygen -t rsa -C “你的邮箱” 回车
然后提示输入文件的名字,用默认的就行,直接回车
再然后提示数据密码,空的也行,直接回车
在这里插入图片描述添加刚刚生成的sshkey到gitlab
在这里插入图片描述这样免密就完成了。

开始拉取推送代码:

随便新建一个文件夹,在空白处右击,选择 在这里新建版本库 直接确定
在这里插入图片描述在这里插入图片描述然后开始配置仓库地址:
在这里插入图片描述进去后点击 远端,putty密钥就是刚刚的sshkey,选择这个文件
在这里插入图片描述在这里插入图片描述
配置完成,拉取代码
在这里插入图片描述在这里插入图片描述在这里插入图片描述到此为止代码仓库搭建完成

安装配置Jenkins:

首先安装jdk11,为什么是11版本?因为后面的sonar用的jdk是11的,这里直接用jdk11,具体安装参考其他博客。

下载链接:https://jenkins.io/zh/download/

wget https://pkg.jenkins.io/redhat-stable/jenkins-2.204.2-1.1.noarch.rpm #下载包

rpm -ivh jenkins-2.204.2-1.1.noarch.rpm #rpm安装

vi /etc/sysconfig/jenkins #修改为由root用户启动

systemctl start jenkins && systemctl enable jenkins #启动并且设置Jenkins开机启动

到此为止Jenkins已经安装完成

配置Jenkins:

打开浏览器输入地址http://虚拟机ip:8080打开Jenkins
在这里插入图片描述cat /var/lib/jenkins/secrets/initialAdminPassword #打开红框处的文本,将文本内容输入到下面的输入框内

然后下一步是让你安装插件什么的,先不安装,叉掉,然后直接开始
Start using Jenkins,进入到里面的界面以后,开始修改默认密码,我设置的跟gitlab一样是asd123asd
在这里插入图片描述安装pipeline和sonar插件(plugins):

首先修改下载源,这样下载不需要等半天:

  1. 生成default.json,并且修改里面的下载地址
    在这里插入图片描述在这里插入图片描述在这里插入图片描述文件生成后,使用终端输入以下命令:
    cd /var/lib/jenkins/updates && sudo sed -i ‘s/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g’ default.json && sudo sed -i ‘s/http://www.google.com/https://www.baidu.com/g’ default.json #将所有插件下载地址换成清华的
    systemctl restart jenkins #重启jenkins

  2. 下载pipeline、sonar相关插件
    在这里插入图片描述搜索名字下载,由于刚接触,不太清楚这些插件的关系,所以大家看到跟pipeline或者sonar相关的名字,都可以勾上,也可以参考其他博客,安装好之后重启。

使用gitlab提交代码触发Jenkins-pipeline:

点击主页左边的导航栏New item进来这里
在这里插入图片描述
点击ok后自动进来了这里
在这里插入图片描述首先设置一下Gitlab Connection:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述然后设置一下Build Tiggers:在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述最后一步,编写pipeline script代码:
在这里插入图片描述
到此为止,一个pipeline就创建设置完成

接下来开始测试:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述到此为止,pipeline测试完毕

安装配置sonar:

sonar已经不支持mysql了,安装PostgreSQL:

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

yum install postgresql12

yum install postgresql12-server

安装好后会自动创建postgres用户,没有密码

systemctl enable postgresql-10 && systemctl start postgresql-10

su - postgres #登录进postgres账户

psql #登录进postgresql-server

create user sonar with password ‘asd123asd’; #创建用户

create database sonar owner sonar; #创建数据库

grant all privileges on database sonar to sonar; // sonar数据库授权给sonar帐号

\q #退出

su root #切换到root账户

vi /var/lib/pgsql/12/data/postgresql.conf #去掉 listen_addresses 的注释,将值改为*

vi /var/lib/pgsql/12/data/pg_hba.conf #添加红框内的内容
在这里插入图片描述systemctl restart postgresql-12.service #重启

到此为止,postgresql安装配置完成

安装sonarqube:

针对sonar安装前系统配置:

vi /etc/sysctl.conf #编辑
在末尾添加:
vm.max_map_count=262144
fs.file-max=65536

vi /etc/profile #编辑
在末尾添加:
ulimit -u 4096
ulimit -n 65536

sonar不能使用root帐号下启动,创建sonar专用账号:
useradd sonar #创建sonar帐号
passwd sonar #设置sonar帐号的密码

visudo #编辑,授予sonar帐号sudo权限
在末尾添加:
sonar ALL=(ALL) ALL

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.1.0.31237.zip #下载

unzip sonarqube-8.1.0.31237.zip #解压

chown -R sonar:soanr /你具体解压的路径/sonarqube-8.1.0.31237/* #授予sonar帐号该目录的权限

vi /你具体解压的路径/sonarqube-8.1.0.31237/conf/sonar.properties #编辑配置数据库连接
在开头添加:
sonar.jdbc.username=sonar
sonar.jdbc.password=asd123asd
sonar.jdbc.url=jdbc:postgresql://localhost/sonar

su sonar #切换到sonar账号

sh /你具体解压的路径/sonarqube-8.1.0.31237/bin/sonr.sh start #启动sonar

浏览器输入http://虚拟机ip:9000,如果没有启动成功,上面那条命令start改成console看看有没有报错,默认帐号密码admin
在这里插入图片描述到此为止,sonarqube安装配置完成

由于个人原因,更新到此,往谅解!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值