Linux之jq
Linux之jqjqjq官方文档
简介jq可以对json数据进行分片、过滤、映射和转换,和sed、awk、grep等命令一样,都可以让你轻松地把玩文本。它能轻松地把你拥有的数据转换成你期望的格式,而且需要写的程序通常也比你期望的更加简短。
jq是用C编写,没有运行时依赖,所以几乎可以运行在任何系统上。预编译的二进制文件可以直接在Linux、OS X和windows系统上运行,当然在linux和OS X系统你需要赋与其可执行权限;在linux系统中也可以直接用yum安装。
安装Mac
1brew install jq
Linux
123yum install jqapt-get install jq
查看命令使用1man jq
json文档12345678910111213141516171819202122232425262728293031{ "store": { "book": [{ "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "pr ...
Jenkins pipeline
Jenkins Pipeline介绍
Pipeline 是Jenkins 2.X核心特性,帮助Jenkins实现从CI到CD与DevOps的转变。
Pipeline 简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。
什么是Jenkins Pipeline
Jenkins Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施。
持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现。
软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。
Pipeline提供了一组可扩展的工具,通过Pipeline Domain Specific Language(DSL) syntax可以达到Pipeline as Code的目的。
Pipeline as Code:Jenkinsfile 存储在项目的源代码库
Why Pipeline?本质上,Jenkins 是一个自动化引擎,它支持许多自动模式。 Pipeli ...
Jenkins Tomcat部署持续交付实战
Tomcat基础知识
目的:将SpringBoot项目部署到Tomcat应用服务器中
了解tomcat
开源应用服务器
支持Servlet,JSP,……,Java系Web应用
入门简单
Tomcat安装
环境要求:Java开发和运行时环境
1234[root@localhost local]# java -versionjava version "1.8.0_221"Java(TM) SE Runtime Environment (build 1.8.0_221-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
下载位置:https://tomcat.apache.org/,我们选择在Linux上安装,选择Tomcat9
安装方法:下载解压
123456789101112131415[root@localhost ~]# wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0. ...
Jenkins容器中安装Python3
Jenkins容器中安装Python3浅谈容器内安装 python3 方案
将 python3 挂载到容器工作目录上
直接复制 python3 目录到工作目录上
jenkins 容器内安装 python3
但经过尝试后,方案1和2都以失败告终,各种乱七八糟的报错,原因是宿主机和容器中的系统有差异,会缺少些配置,因此不推荐方案1和2,接下来我们选择方案3。
查看容器内的系统
以root进入jenkins容器:docker exec -it -u root 容器id|容器名 /bin/bash
cat /etc/issue查看系统类型
1234[root@iZ2ze0mc5577fn814ewhb8Z ~]# docker exec -it -u root cca651588eb3 /bin/bashroot@cca651588eb3:/# cat /etc/issueDebian GNU/Linux 9 \n \l
这是我们看到容器中的系统是Debian(不是Ubuntu、也不是CentOS,虽然我们的宿主机是CentOS),因此在容器中不能使用yum,但是可以使用apt-get。注 ...
Jenkins介绍
官方网站:https://www.jenkins.io/
官方中文网站:https://www.jenkins.io/zh/doc/book/
w3cschool中文文档:https://www.w3cschool.cn/jenkins/
什么是Jenkins官网介绍:
123Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.
翻译:
Jenkins是一个独立的、开放源码的自动化服务器,可以 ...
Jenkins接口自动化测试持续集成与持续集成体系建设
接口功能自动化测试项目介绍基础介绍
测试接口应用:spring-boot-restful-api
接口功能:用户信息的操作
开发语言:Java
功能包:Rest-Assured
请求方法:GET/POST
自动化测试运行框架:JUnit5
项目框架:Maven
开发工具:Intellij Idea
GitHub源码地址:api-object-auto
业务过程
请求接口传入对应参数
解析返回JSON串
获取对应返回值
校验结果正确性
输出报告
Jenkins持续集成接口自动化测试
接口测试的运行时环境与Jenkins Server使用同一台设备,便于演示
Jenkins事先安装Allure Report插件
Jenkins中创建一个自由风格的项目
配置git地址链接
添加构建代码命令:mvn clean install
Jenkins Job中post-build action中添加Allure Report
点击[保存],回到Build界面执行即可
查看Allure测试报告
小结
自动化测试实例:Java代码
利用Rest-Assured框架发起接口请求、获取接口 ...
Jenkins接口压力测试持续集成与持续集成体系建设
接口压力自动化测试项目
接口应用:spring-boot-restful-api
接口功能:用户信息的操作
请求方法:GET/POST
压力脚本开发工具:JMeter
压测脚本位置:https://github.com/jinglv/api-object-jmeter
自动化压测控制逻辑
JMeter讲解及本地执行
JMeter脚本,根据spring-boot-restful-api该项目的接口,进行脚本编写
注意:脚本调试成功后,将断言的组件禁止,如果不禁止在压测过程中会影响到结果
执行Shell脚本(Linux和MacOS系统)如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#!/usr/bin/env bash# 压测脚本模板中设定的压测时间应为60秒export jmx_template="RESTFulApi-Test-Plan"export suffix=".jmx"export jmx_template_filename="${jmx_t ...
Jenkins Api 接口
Jenkins API简介
Jenkins对外暴露的动作交互入口
为外部程序提供入口,可以控制Jenkins
支持协议-Http
API接口支持用户名、密码认证
Jenkins API支持的典型功能:运行Job,查看任务状态,返回任务编号,……,等
调用Jenkins API环境准备
创建一个有任务运行和状态查询的权限的用户
准备一个打算通过API远程控制的任务
关闭跨站脚本伪造请求保护
系统管理 -> 全局安全配置
注意:对于高版本的Jenkins是无法在“全局安全配置”中关闭“跨站请求伪造保护”,因此需要经过以下操作进行跨站请求伪造保护关闭。
由于是docker启动的Jenkins,因此我们在启动的命令上,添加取消保护的参数配置后启动Jenkins,即可关闭CSRF,配置内容如下:
1-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
docker完整命令如下:
1docker run --name jenkins -d -p 8086:8080 -p ...
Jenkins Docker部署持续交付实战
Spring-boot项目部署Docker镜像中
启动Docker,运行Spring应用
本篇的实战项目沿用Jenkins Tomcat部署持续交付实战中的项目,项目具体配置请看该篇。
SpringBoot Docker应用部署流程
Jenkins自由风格任务部署SpringBoot Docker应用注意:本篇采用的是Jenkins依旧是在官网下载的war包,放到Tomcat中启动即可
SpringBoot打包Docker镜像部署的Shell脚本123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#!/usr/bin/env bash## 需要在Jenkins任务中配置以下参数#export mysql_ip=mysql server ip or host#export mysql_port=mysql port#export mysql_user=mysql username#export mysql_pwd=mysql password#expo ...