Jenkins

Quartz2.x动态Job工具类

血红的双手。 提交于 2020-04-22 08:21:59
有些需求,需要动态启动一个定时器,然后在一定条件下再停止。比如通过rest控制jenkins做发布,当发起一个构建后,就需要定时去查询构建状态,在构建完成后再停止定时器,下面是一个通用的定时器工具类。 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.scc</groupId> <artifactId>stu-quartz</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath />

携程大牛教你如何设计一个自动化框架

痞子三分冷 提交于 2020-04-21 20:46:40
对于如何设计一个自动化框架之前,首先得清楚什么是自动框架,设计时有哪些是需要注意的,然后该怎么去做? 什么是自动化测试框架? 1、什么是框架? 特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。在此结构上可以根据具体问题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。也就是说框架本身不解决特定的问题,它是通过扩展的各种组件或者工具来解决问题,并且它可以方便的添加或者修改部分组件的功能。 2、什么是自动化测试框架? 什么是自动化测试框架,我们拆分来看的话,其实就是三个方面,自动化、测试、框架,什么是框架上面说了,还有就是他能执行测试,而且还是自动化的,所以框架的各个组件的主要功能就是围绕着如何自动化如何执行测试展开的。 这里可以把框架的各个功能称作模块,那我们来看看都需要那些模块,需要一个基础模块,主要是怎么实现脚本编写,管理模块,主要的行为是持续集成,定时执行、case管理,统计模块,主要是发送测试报告,统计分析。 那总结一下自动化测试框架的定义就是:把在自动化测试过程中用到的一些功能或者工具,分装成各个模块,包括如何进行自动化脚本编写以及分层功能的基础模块,进行持续集成、定时任务的管理模块,发送测试报告、进行测试结果统计分析的统计模块等,将这些模块组成一套可重用的骨架。

三、接口测试教程-jmeter

岁酱吖の 提交于 2020-04-20 18:28:05
1:接口测试介绍 2:接口测试与协议 http协议、webservice(soap)协议、自定义协议 3:接口测试流程 参数化:EXCEL文件参数化、数据库参数化、直接代码中配置、配置文件 预处理请求(前置处理):对请求的参数进行预处理、准备。如加密数据,组织测试数据 请求:httpclient、wsclient、rpcclient等等client 对响应进行处理(后置处理):解析响应,得到目标字段,处理json、xml等数据格式的内容,提取数据。 断言:目的是判断是否符合业务需求,将提取的数据与期望值进行比较,判断是否符合正常结果。 测试报告:各种统计数据,测试用例是否执行成功,是否出现错误,哪些测试用例出现错误。 4:测试用例之间的关系: 测试用例A==下一个测试用例B 两个测试用例的依赖关系:A为B测试用例提供数据,A执行完毕B测试用例才执行 A->B->C->D.....................->Z 5:接口测试与性能测试 6:接口测试与APP测试 7:接口测试:自定义协议测试 8:接口测试与回归测试 9:自动化执行用例 jenkins定时任务,让测试用例自动执行出报告 来源: oschina 链接: https://my.oschina.net/u/4267017/blog/3285617

k8s~helm镜像版本永远不要用latest

谁说胖子不能爱 提交于 2020-04-19 18:09:40
对于容器编排工具k8s来说,你可以使用它规定的yaml格式的脚本,使用客户端kubectl来与k8s进行通讯,将你定义好的yaml部署脚本应用到k8s集群上,而这对yaml脚本一般来说都是很像的,就是说,你需要反复的使用同样结构的代码,这对于开发人员来说不是一个好的信号,所以helm出现了,它是一种模板化的部署工具,你定义好模板之后,把变量的对象放在values.yaml里就可以了。 引起的问题 在使用helm进行部署时出现了一个问题,使用镜像时习惯的使用了latest这个版本,也就是最新版本,在使用helm进行部署时,对于相同版本号的镜像来说,它对于的pod居然没有从新编排,这个问题直接影响了整个部署的方式,在jenkins项目部署之后,还需要手动进行pod的部署,这显然是不能接受的,最后在helm里打算使用docker具体的镜像版本号。 使用步骤 jenkins从gitlab上拉取项目源代码 编译项目,测试项目 打包项目成为镜像,镜像版本使用jenkins的TagId,它是当前任务的版本,我们可以直接用 上传镜像到私有仓库harbor里 拉取Helm Chart仓库代码,这个仓库里存储所有服务需要的Charts信息 使用sed命令将当前TagId写入Charts到values.yaml文件的对应服务镜像版本的位置,使用了yaml的锚点和引用功能 使用helm

k8s~helm镜像版本永远不要用latest

牧云@^-^@ 提交于 2020-04-19 17:44:24
对于容器编排工具k8s来说,你可以使用它规定的yaml格式的脚本,使用客户端kubectl来与k8s进行通讯,将你定义好的yaml部署脚本应用到k8s集群上,而这对yaml脚本一般来说都是很像的,就是说,你需要反复的使用同样结构的代码,这对于开发人员来说不是一个好的信号,所以helm出现了,它是一种模板化的部署工具,你定义好模板之后,把变量的对象放在values.yaml里就可以了。 引起的问题 在使用helm进行部署时出现了一个问题,使用镜像时习惯的使用了latest这个版本,也就是最新版本,在使用helm进行部署时,对于相同版本号的镜像来说,它对于的pod居然没有从新编排,这个问题直接影响了整个部署的方式,在jenkins项目部署之后,还需要手动进行pod的部署,这显然是不能接受的,最后在helm里打算使用docker具体的镜像版本号。 使用步骤 jenkins从gitlab上拉取项目源代码 编译项目,测试项目 打包项目成为镜像,镜像版本使用jenkins的TagId,它是当前任务的版本,我们可以直接用 上传镜像到私有仓库harbor里 拉取Helm Chart仓库代码,这个仓库里存储所有服务需要的Charts信息 使用sed命令将当前TagId写入Charts到values.yaml文件的对应服务镜像版本的位置,使用了yaml的锚点和引用功能 使用helm

使用 Docker 安装 Jenkins 的最佳方式

对着背影说爱祢 提交于 2020-04-19 06:08:12
说在前面 本篇内容非常简单,讲述了如何快速在 Docker 上部署一个 Jenkins 实例,避免多采坑,浪费不必要的练习时间。 本文实验环境: 操作系统:Centos 7.5 Docker Version:18.09.6 下载镜像 打开终端,输入 docker search 命令搜索 Docker Hub 上可用的 Jenkins 镜像: $ docker search jenkins NAME DESCRIPTION STARS OFFICIAL AUTOMATED jenkins Official Jenkins Docker image 4328 [OK] jenkins/jenkins The leading open source automation server 1563 jenkinsci/blueocean https://jenkins.io/projects/blueocean 399 jenkinsci/jenkins Jenkins Continuous Integration and Delivery … 367 jenkinsci/jnlp-slave A Jenkins slave using JNLP to establish conn… 110 [OK] jenkins/jnlp-slave a Jenkins agent (FKA

node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins

血红的双手。 提交于 2020-04-19 06:00:13
前言 每次项目代码更新后都要重新部署,如果只有一台服务器还好. 但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了. 这里用几篇文章来记录一下如何使用Jenkins,Docker,github来搭建一个自动化部署的node项目. 思路 使用git进行版本控制,当项目更新时就触发 Jenkins的构建任务 Jenkins 从 git 拉取最新的代码 为了避免多个节点的运行环境差异,所以需要使用 Docker 来将我们的 node 项目打包为镜像 将镜像通过脚本部署到所有的子节点上 安装Docker 本人使用的阿里云的服务器,操作系统Centos7 yum install docker 安装docker docker 安装完成后需要启动docker服务 service docker start docker启动完成后,下一步就需要启动docker容器 ps -ef|grep docker Docker上安装Jenkins docker 安装好后下一步就是安装 Jenkins 镜像 在安装前需要创建一个目录用于映射 Jenkins 的镜像中的文件,以便安装好 Jenkins 后查看初始密码等操作 创建目录 mkdir /var/jenkins_home 然后修改该目录的权限,不然很可能在 Jenkins 镜像映射文件时没有操作权限,导致镜像启动秒退 chown

docker 创建 jenkins 容器

僤鯓⒐⒋嵵緔 提交于 2020-04-18 19:46:50
1、下载最新的jenkins文件 docker pull jenkins/jenkins:lts 2、运行jenkins docker run --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home --restart always -d jenkins/jenkins:lts     3、访问jenkins http://IP:8080 首次进入需要初始密码,使用命令获取 获取初始密码: docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword 接下来的操作就是jenkins的页面操作,不再做详细说明 来源: oschina 链接: https://my.oschina.net/u/4302345/blog/3274380

Jekins自动化部署springboot项目

人走茶凉 提交于 2020-04-18 15:33:38
新建自由风格的软件项目 源码管理 这里以git形式做介绍,初次未配置git的连接账户,这里需要在Credentials里面添加一个全局凭证,这里可以是用户名密码模式,也可以是GitLab的API token形式 指定构建分支Branch Specifier (blank for 'any') 为 */master(这里可以指定构建分支) 源码库浏览器设置为自动 构建触发器 勾选Build when a change is pushed to GitLab. GitLab webhook URL: http://10.95.130.178:8000/project/oss-build,采用提交push自动构建 构建 添加调用顶层Maven目标 Maven版本配置为默认,目标加上构建命令行:clean package -DskipTest Send files or execure commands over SSH 这里需要注意一下,初次未配置目标应用主机SSH链接,需要在Jenkins->系统管理->系统设置中的SSH Servers进行添加,较为简单的配置方法是账号密码模式,也可以通过配置ssh的key来配置 如果上述的主机链接已经配置,可以直接选择。 Source files:oss-platform-web/target/oss-platform.jar Remove