本机配置:
- Ubuntu18.04.6 有操作界面,
内存5.8G(sonar需要较高内存最好不要低于5G),
硬盘20G,
处理器4核
镜像下载地址:http://mirrors.163.com/ubuntu-releases/18.04/
- openjdk 11
- mysql :5.7.14(Ver 14.14 Distrib 5.7.41)
- 安装过程中如果出现较慢或下载失败,可使用vpn或换下载源
# 1. 复制原配置文件
cp /etc/apt/sources.list /etc/apt/sources/list.bak
# 2. 打开sources.list新增源,可自行注释掉不需要部分
#清华
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
#aliyun
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
#中科大
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu focal stable
# deb-src [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu focal stable
# 3. 执行生效
sudo apt-get update
sudo apt-get upgrade
一、安装过程
为了安装过程中不出现权限问题,直接跳转root用户进行安装
su root
#根据提示输入密码进入root用户
1.安装jdk11
1.1 下载jdk11
sudo apt install openjdk-11-jdk
1.2 确认jdk安装是否成功并查找真实安装路径
#确认安装成功
java -version
#真实安装路径
ls -lrt /etc/alternatives/java
1.3配置环境变量
#1.打开配置文件
vim /etc/profile
#如果在使用vim命令后出现报错如下图,可使用此命令,如没有跳过继续
apt install vim
#2.添加到文件末尾(/usr/lib/jvm/java-8-openjdk-amd64 是实际安装路径,根据自己位置替换)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JRE_HOME=${JAVA_HOME}
export CLASSPATH=.:{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#3、更新环境变量
source /etc/profile
#如果出现报错如cannot find command source可使用如下命令
locate source /etc/profile
关于jdk8和jdk11的环境配置区别:
如下图,jdk8有jre路径,而jdk11是没有jre的,所以在/etc/profile配置中使用export JRE_HOME=${JAVA_HOME}把jre设置为jdk同路径以防出现找不到jre的错误
2.安装mysql
如果已有mysql想重装或遇到报错可参考我的另一篇博客:https://blog.csdn.net/qq_24586395/article/details/128901465
下面是新装过程:
#1. 检查是否已有mysql
rpm -qa | grep -l mysql
#如果报错关键字“rpm not found”,可执行
apt install rpm
# 2.如果1之后什么都没有输出,说明没安装过,安装
sudo apt-get install mysql-server mysql-common
# 3. 查看mysql版本
mysql -V
# 4. 登录mysql。一般首次安装没有密码, -u:用户名
mysql -u root
# 5. 创建数据库、添加sonar用户并授权
# Create databases and users and authorize
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
# 6.退出mysql
exit
3. 安装sonarqube
sonarqube对系统内存、jdk、mysql支持等有要求,详见
https://docs.sonarqube.org/latest/requirements/prerequisites-and-overview/
3.1 下载
sonarqube下载地址:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip
3.2 解压与配置
#1. 解压到/opt路径
unzip sonarqube-7.6.zip -d /opt
#2. 打开/opt/sonarqube-7.6/conf/sonar.properties文件,并将下图红框中的注释(#)去掉,添加用户名和密码,修改部分如下,效果见下图
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#3. root用户不能启动sonar所以需要创建其他用户作为启动账户
# 创建用户组
groupadd sonar
# 创建用户名、密码
useradd sonar -g sonar -p sonar
# 授权,sonar.sonar是用户名和密码,后面的路径是上一步中sonar的解压路径;
#请注意用户名密码和路径中间的空格
chown -R sonar.sonar /opt/sonarqube-7.6
#4. 启动
# 切换sonar用户
su sonar
# 进入启动脚本所在的路径
cd /opt/sonarqube-7.6/bin/linux-x86-64
# 启动sonar不看实时日志
# start可替换: start启动;restart重启;startus查看启动状态
sh sonar.sh start
#如需查看实时状态日志可用:
sh sonar.sh console start
3.3登录
3.3.1 打开浏览器输入:localhost:9000
3.3.2 首次登录用户名密码均为admin,登录后界面如下
3.3.3 汉化
如果出现这个错误,说明版本不兼容。需到官网下载对应插件放到~/extensions/plugins中并重启sonar服务
插件下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases?page=2
本文用到的是sonarqube7.6,下载了该jar包,但如果sonarqube本身版本较低,汉化包可能不起作用
官方版本插件版本搭配:https://docs.sonarqube.org/latest/instance-administration/plugin-version-matrix/
4. gitlab安装
4.1 首先下载安装包:
https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_14.1.3-ce.0_amd64.deb
复制红框中命令并执行(如果你想下载其他版本,也复制同样位置的命令并执行)
#1. 下载安装包
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_14.1.3-ce.0_amd64.deb/download.deb
#2. 安装gitlab所需repository
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
4.2 校验安装包完整性
#为了防止安装包下载不全导致后面出现问题,可进行md5校验
md5sum gitlab-ce_14.1.3-ce.0_amd64.deb
#结果中的md5和官网的md5相同即可
4.3 安装
#执行命令,出现下图小狐狸则安装成功
dpkg -i gitlab-ce_14.1.3-ce.0_amd64.deb
4.4 启动gitlab
4.4.1 在 /etc/gitlab/gitlab.rb文件中,修改external_url
4.4.2 打开浏览器,输入localhost:80
4.4.3 修改密码并重启
#1. 进入路劲
cd /opt/gitlab/bin
#2. 进入控制台
gitlab-rails console
#3. 出现lib(main):0001:0>后,修改root用户的密码为root
#依次输入
u=User.where(id:1).first
u.password='root@root'
u.password_confirmation='root@root'
u.save!
exit
# 4.重启gitlab服务
# 停止gitlab服务
sudo gitlab-ctl stop
# 启动gitlab服务
sudo gitlab-ctl reconfigure
# 启动所有gitlab组件
sudo gitlab-ctl start
#完成
#以下是常用的其他命令
# 启用开机自启动
sudo systemctl enable gitlab-runsvdir.service
#重启所有gitlb组件
sudo gitlab-ctl restart
4.4.4 打开浏览器,localost:80,或者127.0.0.1:80
输入刚才的用户名密码
成功。
5. Jenkins
5.1 安装配置
主要根据官网操作指南:
https://www.jenkins.io/doc/book/installing/linux/#debianubuntu
5.1.1 此处演示LTS release版:
1. curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
2. /usr/share/keyrings/jenkins-keyring.asc > /dev/null
3. echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
4. https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
5. /etc/apt/sources.list.d/jenkins.list > /dev/null
6. sudo apt-get update
7. sudo apt-get install jenkins
5.1.2 默认端口号为8080,用户为jenkins。如想修改
# 1.进入配置文件
vim /etc/default/jenkins
# 2. 需修改的部分
# user and group to be invoked as (default to jenkins)
JENKINS_USER=root
JENKINS_GROUP=root
# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=8888
注:sudo apt-get install jenkins执行之后如果有报错,要解决掉报错之后,再次执行此句。
5.1.3 安装成功运行如下:
5.1.4 登录localhost:8888, 密码在/var/lib/jenkins/secrets/initialAdminPassword 中,或在console日志中有写
5.1.5 期间可能会用到的命令:
#查找jenkins安装路径
rpm -ql jenkins
#或者
which jenkins
# 查看jenkins运行状态
sudo service jenkins status
# 启动jenkins服务
sudo service jenkins start
# 重启jenkins服务
sudo service jenkins restart
# 停止jenkins服务
sudo service jenkins stop
5.2 如果你想用下载war包的方式,此处只提供地址
官网地址:
https://www.jenkins.io/download/
或者其他的稳定版本:
https://get.jenkins.io/war-stable/
5.3 如有需要卸载:
#删除jenkins服务
sudo apt-get remove jenkins
#删除安装包
sudo apt-get remove --auto-remove jenkins
#删除配置和数据
sudo apt-get purge jenkins
sudo apt-get purge --auto-remove jenkins
搭建过程参考:
1.整体搭建
https://blog.csdn.net/weixin_38880029/article/details/125568486
2.sonarqube安装
https://blog.csdn.net/sunrj_niu/article/details/128446949
3.gitlab安装
https://xie.infoq.cn/article/717e177a33cad6a930e3a4849
https://blog.csdn.net/landeli2/article/details/128283630
4.jenkins安装
https://blog.csdn.net/qq_32784303/article/details/122300175
二、集成
三、问题集锦
1.查看jdk安装路径
ls -lrt /etc/alternatives/java
2. source /etc/profile 报错source: command not found。-提示找不到命令
locate source /etc/profile
3. package architecture dose not match system
在错误信息中(第二个红框)已经给出了当前package的architecture是arm64,而系统是amd64。说明安装包下载版本错误,需要下载对应amd64的版本。
如果需要查看system architecture,可输入倒数第二行红框的命令行sudo dpkg --print-architecture
4.文件夹或用户权限问题
在root中,执行命令
chmod 777 -R 文件路径
5. Sub-process /usr/bin/dpkg returned an error code(1)
解决方案:
cd /var/lib/dpkg/
sudo mv info/ info_bak # 现将info文件夹更名
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info # 把以前的info文件夹重新改回名
同时,也可能因为没检测到jdk,需手动添加
#打开文件 指定jdk位置
vim /etc/init.d/jenkins
6.W: APT had planned for dpkg to do more than it reported back
sudo apt install -f
sudo dpkg -C #后面没显示错误
sudo apt update
sudo apt upgrade
sudo apt autoremove#删掉自动安装但不需要的包
报错解决方案参考:
https://www.cnblogs.com/orzs/p/10844869.html
dpkg相关报错:
https://blog.csdn.net/stlinax/article/details/108597072
sources.list换源:
https://blog.csdn.net/weixin_45754151/article/details/127413601