Jenkins

使用 Jenkins 与 Sonar 集成对代码进行持续检测

隐身守侯 提交于 2020-08-17 15:27:39
SonarQube 8.4 发布,分析时间最多可减少 80% 有碰到再去整理一次吧。先放一下以前的学习笔记 SonarQube 与 jenkins 简 介 SonarQube 是 一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题。同时,它提供了丰富的插件,支持多种语言的检测, 如 J ava、Python、Groovy、C、C++等几十种编程语言的检测。它主要的核心价值体现在如下几个方面: 检查代码是否遵循编程标准:如命名规范,编写的规范等。 检查设计存在的潜在缺陷:SonarQub e 通 过插 件 F indbugs、Checkstyl e 等 工具检测代码存在的缺陷。 检测代码的重复代码量:SonarQub e 可 以展示项目中存在大量复制粘贴的代码。 检测代码中注释的程度:源码注释过多或者太少都不好,影响程序的可读可理解性。 检测代码中包、类之间的关系:分析类之间的关系是否合理,复杂度情况。 SonarQub e 平 台是 由 4 个 部分组成: SonarQube Server SonarQube Database SonarQube Plugins SonarQube Scanner wget -c https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6

PO模式你会吗?自动化测试PO模式分层如何实现?

↘锁芯ラ 提交于 2020-08-17 15:22:50
一、什么是PO模式 全称:page object model 简称:POM/PO PO模式最核心的思想是分层,实现松耦合!实现脚本重复使用,实现脚本易维护性! 主要分三层: 1.基础层BasePage:封装一些最基础的selenium的原生的api方法,元素定位,框架跳转等。 2.PO层:元素定位、获得元素对象,页面动作 3.测试用例层:业务逻辑,数据驱动! 三者的关系:PO层继承继承层,测试用例层调用PO层! 二、什么是自动化测试框架 说到自动化框架,我相信很多人应该都听过这个词,但是不知其到底是个什么东西,为什么要用自动化框架。有很多人堆自动化框架都是懵懵懂懂,就跟谈恋爱一样,朦胧美! 一个好的自动化测试框架是可以让不那么懂技术的人也可以写自动化测试脚本的, 一个好的自动化测试框架可以减少自动化测试中脚本管理和维护当中的人力物力和财力。 其实自动化框架的一个最大的意义在于可重用性。因为在框架里,你可以实现很多的通用功能来简化整个脚本的开发过程。并且生成美观的测试报告。 三、非PO模式和PO模式优缺点对比 自动化软件测试交流!!!群:642830685,领取最新软件测试资料大厂面试和Python自动化学习资料!一起学习交流 非PO模式 面向过程的线性脚本POM把页面元素定位和业务操作流程分开。实现松耦合。 复用性差UI元素的改变不需要修改业务逻辑代码

Kubernetes 发布策略总结

孤人 提交于 2020-08-17 10:47:23
在Kubernetes中有几种不同的方式发布应用,所以为了让应用在升级期间依然平稳提供服务,选择一个正确的发布策略就非常重要了。选择正确的部署策略是要依赖于我们的业务需求的,下面我们列出了一些可能会使用到的策略: 重建(recreate):停止旧版本部署新版本 (k8s内部支持) 滚动更新(rolling-update):一个接一个地以滚动更新方式发布新版本 (k8s内部支持) 蓝绿(blue/green):新版本与旧版本一起存在,然后切换流量 (k8s内部支持比较繁琐,argo(改动yml),不用太大改动) 金丝雀(canary):将新版本面向一部分用户发布,然后继续全量发布 (k8s内部支持比较繁琐,argo(改动yml),不用太大改动) A/B测(a/b testing):以精确的方式(HTTP 头、cookie、权重等)向部分用户发布新版本。A/B测实际上是一种基于数据统计做出业务决策的技术。在 Kubernetes 中并不原生支持,需要额外的一些高级组件来完成改设置(比如Istio、Linkerd、Traefik、或者自定义 Nginx/Haproxy 等) AB测试 (所有的请求必须走代理网关进行流量拦截,进行转发来实现AB测试 参考: ingress-nginx实现灰度发布 ) 改动点: 滚动更新(rolling-update):yml配置下ok 蓝绿(blue

CodeReview实践-Gerrit自动触发JenkinsCI

≡放荡痞女 提交于 2020-08-17 10:46:39
Gerrit + Jenkins 背景 当前团队使用Gerrit来做代码管理、CodeReview。计划实现当review提交到了Gerrit并且review通过(merged)自动触发Jenkins流水线。以前接触Gitlab比较多,Gerrit还是第一次开始用,踩了点坑记录下来。本文主要讲述Gerrit Trigger流水线配置,关于服务器配置等细节问题暂不研究,降低复杂性。 Gerrit 配置 我们可以通过Docker的方式快速启动一个Gerrit实例,默认Gerrit使用的是HTTP 8080端口、SSH29418端口。通过 CANONICAL_WEB_URL 参数指定服务器网页地址。 docker run --name gerrit -itd \ -p 8088:8080 \ -p 29418:29418 \ -e CANONICAL_WEB_URL=http://192.168.1.200:8088 gerritcodereview/gerrit 启动成功后,默认打开的是一个插件安装的页面,此时可以根据个人需要安装相关插件,也可以跳过。 默认登录就是admin, 创建一个Jenkins用户。 登录Jenkins用户然后配置SSH-KEY,创建ssh-key添加到jenkins用户配置中。 [root@zeyang-nuc-service ~]# kubectl exec

高级测试必备技能,Jenkins

人盡茶涼 提交于 2020-08-17 09:58:52
Jenkins安装 前言   Jenkins是一个广泛用于持续构建的可视化web工具,就是各种项目的的“自动化”编译、打包、分发部署,将以前编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址,将代码拉取到jenkins宿主机上,进行编译、打包和发布到web容器中。Jenkins可以支持多种语言(比如:java、c#、php等等),也兼容ant、maven、gradle等多种第三方构建工具,同时跟git、svn无缝集成,也支持直接与github直接集成。 1. 准备工作 以下是Jenkins官方对安装服务器、软件的建议要求。 机器要求: 256 MB 内存,建议大于 512 MB 10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像) 需要安装以下软件: Java 8 ( JRE 或者 JDK 都可以) Docker 我这里将准备的是在CentOS 7.5环境上,采用非docker方式进行安装。 2. 安装JDK1.8 如果已经安装,请忽略该步骤。 执行命令 yum install -y java-1.8.0 进行安装: [root@xcbeyond ~]# yum install -y java-1.8.0 3. 安装Jenkins 1)执行 wget -O /etc/yum.repos.d/jenkins.repo

Linux利用war包一键搭建Jenkins(免插件安装)

我的未来我决定 提交于 2020-08-17 08:06:46
1. 安装JDK8 CentOS快速安装JDK8 Ubuntu快速安装JDK8 2.下载jenkins相关文件 2.1 jenkins war下载 #linux下执行wget,若提示wget命令不存在,则按照yum install -y wget或则apt install -y wgetwget http://mirrors.jenkins.io/war-stable/2.235.4/jenkins.war 2.2 jenkins_home文件下载 点击这里免费下载 2.3 解压jenkins_home文件 #在jenkins.war所在的目录执行如下命令tar xzvf jenkins.tar.gz 则会在当前目录生成.jenkins目录 3.启动jenkins 创建对应目录 mkdir -p /var/lib/jenkinsmkdir -p /var/cache/jenkins/warmkdir -p /var/log/jenkins/ 前台启动 #在jenkins.war目录下执行如下命令 java -jar jenkins.war -DJENKINS_HOME=/var/lib/jenkins --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war 后台启动 nohup java

dph系统部署说明

放肆的年华 提交于 2020-08-17 04:29:22
Env env description alpha 开发环境 beta 测试环境 gamma 预发环境 delta 生产环境 common 通用环境 Service env service ip port username passwd gamma mysql 192.168.3.73 3306 root gamma redis 192.168.3.71 6379 - gamma nacos 192.168.3.74 8848 - - gamma api-usr 192.168.3.77 19000 - - gamma api-ops 192.168.3.77 19001 - - gamma user 192.168.3.77 - - - common nginx 192.168.3.73 80/443 - - common gitlab 192.168.3.78 80 - - common zentao 192.168.3.77 80 - - common jenkins 192.168.3.68 8080 - - Deployment directory host directory 192.168.3.77~192.168.3.77 /data/dph/service/dph-service-xxxx-impl/ 192.168.3.77 /data/dph/api/dph

jenkins添加git源失败

感情迁移 提交于 2020-08-17 04:10:29
Failed to connect to repository : Command "git ls-remote -h git@192.168.91.11:test/dzp.git HEAD" returned status code 128: stdout: stderr: Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 1.卸载自带的git,因为版本太低 本地服务器版本: [root@vm_001034_op-test git-2.0.5]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@vm_001034_op-test git-2.0.5]# 笔者从网上找了很多资料,最终参考几份资料才安装成功的。 原因很简单

如何手动重启Jenkins?

末鹿安然 提交于 2020-08-17 03:21:15
问题: I've just started working with Jenkins and have run into a problem. 我刚刚开始与詹金斯一起工作,遇到了一个问题。 After installing several plugins it said it needs to be restarted and went into a "shutting down" mode, but never restarts. 在安装了几个插件之后,它表示需要重新启动并进入“关闭”模式,但是从不重新启动。 How do I do a manual restart? 如何手动重启? 解决方案: 参考一: https://stackoom.com/question/Xs4q/如何手动重启Jenkins 参考二: https://oldbug.net/q/Xs4q/How-to-restart-Jenkins-manually 来源: oschina 链接: https://my.oschina.net/stackoom/blog/4325803