当前位置: 首页 > news >正文

【持续集成_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 venvsource venv/bin/activatepip 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中的测试自动化项目中,关注研发项目

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CSS3实现彩色变形爱心动画【附源码】
  • Linux命令更新-sort 和 uniq 命令
  • 【车载测试收徒】【UDS诊断中的协议:ISO-14229中文】
  • bash: ip: command not found
  • MagicClothing: 给人物照片换装的ComfyUI工作流(干货满满)
  • SpringMVC源码分析
  • SpringBoot+Vue实现简单的文件上传(Excel篇)
  • 【机器翻译】基于术语词典干预的机器翻译挑战赛
  • Jenkins 离线升级
  • 【排序算法】—— 归并排序
  • 海事无人机解决方案
  • 前端开发(基础)
  • 对B-树的理解
  • bug定位策略
  • python连接kafka生产者发送消息
  • [译]如何构建服务器端web组件,为何要构建?
  • 2017 年终总结 —— 在路上
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Brief introduction of how to 'Call, Apply and Bind'
  • ES6语法详解(一)
  • interface和setter,getter
  • JAVA 学习IO流
  • Java的Interrupt与线程中断
  • Java读取Properties文件的六种方法
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • JWT究竟是什么呢?
  • PermissionScope Swift4 兼容问题
  • Python 基础起步 (十) 什么叫函数?
  • React系列之 Redux 架构模式
  • Vultr 教程目录
  • windows下mongoDB的环境配置
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端面试之CSS3新特性
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 在Unity中实现一个简单的消息管理器
  • 自动记录MySQL慢查询快照脚本
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ### RabbitMQ五种工作模式:
  • #1014 : Trie树
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #Z0458. 树的中心2
  • $().each和$.each的区别
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (13)Hive调优——动态分区导致的小文件问题
  • (145)光线追踪距离场柔和阴影
  • (C语言)逆序输出字符串
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)ssm码农论坛 毕业设计 231126
  • (力扣题库)跳跃游戏II(c++)
  • (六)Hibernate的二级缓存
  • (没学懂,待填坑)【动态规划】数位动态规划