【持续集成_05课_Linux部署SonarQube及结合开发项目部署】

一、Linux下安装SonarQube

1、安装sonarQube

前置条件:sonarQube不能使用root账号进行启动,所以需要创建普通用户及

其用户组

1)创建组

2)添加用户、组名、密码

3)CMD上传qube文件-不能传到home路径下哦

4)检查并解压上传的包

解压到当前目录

解压完就可以看到了

5) 移动文件夹到非~下,并设置⽤户组可操作权限(-R 后面跟的是组名)

# chown -R sonarqube sonar安装包解压后的路径;命令意义:用于更改文件或目录的所有者
chown -R sonarqube sonarqube-9.7.0.61563/

# chgrp -R sonarqube sonar安装包解压后的路径;用于更改文件或目录的所属组
chgrp -R sonarqube sonarqube-9.7.0.61563/

# chown -R sonarqube JAVA_HOME路径;用于更改文件或目录的所有者
chown -R sonarqube /usr/java(这个java是老师的文件名,存放jdk的那个)

# chgrp -R sonarqube JAVA_HOME路径;用于更改文件或目录的所属组
chgrp -R sonarqube  /usr/java(这个java是老师的文件名,存放jdk的那个)

上面命令的执行

6)启动sonar,先切换到组的权限下面再运⾏

切换用户命令 -su 后面的是组名

然后打开 安装sonar的文件

启动一定要注意,我们sonar本身就是后台启动(脚本),直接通过脚本启动即可。

windows启动脚本文件后缀: .bat

linux启动脚本文件后缀:.sh

下面是先打开sonarqube文件,然后找到文件下的bin目录,查找bin目录下的Linux系统,打开这个linux系统

找到了linux系统里的启动脚本的文件名

执行下面这个命令,就看也执行这个启动脚本

./sonarqube-9.7.0.61563/bin/linux-x86-64/sonar.sh start

7)访问Sonar

访问:http://192.168.1.39:9000/ (汉化同win操作一样,这里就不说了,可以自己去试。)

默认账号密码是admin /admin

2、安装SonarScan插件

复用的话,需要删除原先配置的sonar(3个配置),重新添加,比较保险

1)然后选择版本重新添加

2)还有这里需要配置新的Ip

3)还需要修改凭证

新增凭证

4)配置已经完成,需要设置在构建前的执行扫描

配置

常见小问题:、

1)没有权限

提示对下面这个目录没有权限

给权限即可:

chmod 755 -R 路径()上面那2个目录

2)课上小问题:

原因:因为sonar占用log的这个目录,所以你的框架尽量不要有这种命名。删除重新提交即可。

首先,需要先改pytest.ini

修改log_file的文件路径和名

现在需要把代码拉下来,然后修改文件

然后需要删掉log文件

新建一个logdata文件用于吧存放日志文件

给换个名字

然后提交改动的代码

二、扩展知识:部署开发项目

1、持续集成的流程

测试关注的流程

开发项目部署到测试环境,能被自动执行,是需要设置关注这个开发项目

开发关注的

通过git提交到Gogs仓库,开发项目才需要Sonar扫描

2、 部署开发项目

1)第一步:开发提交到gogs --- 名字:加密项目

2)第二步:jenkins拉取这个研发项目--- 构建 (发布到测试环境)--- 文档

2.1)用Shell去进行执行即可
# 不用纠结

python3 -m venv venv

source venv/bin/activate

pip install -r requirements.txt -i https://pypi.douban.com/simple/

在Jenkins如下配置

2.2)启动命令:(需要SSH 进行命令操作)

需要下载插件-- Publish over SSH(SSH权限更高,比shell高)

cd "$WORKSPACE"&& ./venv/bin/gunicorn -c gunicorn.conf.py app:app -D

上面的命令解析说明:

cd "$WORKSPACE" ---是打开工作空间

./venv/bin/ --找到bin目录

gunicorn -c gunicorn.conf.py app:app -D --执行启动命令

下载Publish over SSH插件

配置

1)
2)
3)配置启动命令
4)研发服务部署成功,通过ip+去访问

部署服务,是运维关注的,需要依赖部署说明文档去部署

5)如果开发有代码修改,一修改就触发持续部署,

需要在Jenkins中添加触发器,在Gogs中创建钩子。关联使触发

6)研发项目发布成功,测试脚本自动执行

在Jenkins中的测试自动化项目中,关注研发项目

相关推荐
湫ccc5 小时前
《Python基础》之字符串格式化输出
开发语言·python
mqiqe6 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
AttackingLin6 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
哭泣的眼泪4086 小时前
解析粗糙度仪在工业制造及材料科学和建筑工程领域的重要性
python·算法·django·virtualenv·pygame
湫ccc7 小时前
《Python基础》之基本数据类型
开发语言·python
drebander8 小时前
使用 Java Stream 优雅实现List 转化为Map<key,Map<key,value>>
java·python·list
威威猫的栗子8 小时前
Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画
开发语言·python
墨染风华不染尘9 小时前
python之开发笔记
开发语言·笔记·python
Dxy12393102169 小时前
python bmp图片转jpg
python
麦麦大数据9 小时前
Python棉花病虫害图谱系统CNN识别+AI问答知识neo4j vue+flask深度学习神经网络可视化
人工智能·python·深度学习