Jenkins

jenkins——初探

懵懂的女人 提交于 2021-02-14 14:04:02
引言 产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线 持续集成 (Continuous integration,简称CI) 持续交付(Continuous delivery) 持续部署(continuous deployment) 参考 http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html Jenkins介绍 官网 https://jenkins.io Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于web界面的平台。 Jenkins是一个工具集,提供了各种各样的插件 比如获取git上最新的代码 比如可以帮你编译源代码 比如可以调用自定义的shell脚本远程执行命令 官方文档 https://jenkins.io/doc/ Jenkins安装 最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8 安装jdk1.8 yum install -y java-1.8.0-openjdk wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo rpm --import https://pkg.jenkins.io

Postman + newman + jenkins 的API自动化测试应用

回眸只為那壹抹淺笑 提交于 2021-02-13 20:57:03
一、环境配置 Postman postman 的具体使用可以参考另外一篇文章: postman 做接口测试之学习笔记 Newman 第一步,安装nodejs。 第二步,在nodejs命令行安装newman,即命令行输入如下命令: npm install -g newman jenkins 去官网( https://jenkins.io/index.html )下载jenkins 二、Postman + Newman + jenkins 的使用 1. 在postman中导出testcase 文件夹(即存各个接口的collection文件夹)和设置的环境变量文件。 如下所示,导出来的是个json 格式的文件 2. jenkins配置 注意:如果是安装在本地的Jenkins,要将jenkins开启,切换到jenkins.war 的路径下, 执行 java -jar jenkins.war 则可以开启了。 在jenkins上配置如下图,这个路径就是上面通过postman导出文件的路径。 剩下的就是jenkins的常规操作了,比如设置好邮箱后点击立即构建或者设置多久构建一次,这样自动化就跑起来了,等待自动化测试结束后我们就可以收到测试成功或者失败的测试报告邮件了(依赖于设置)。 通过上面这些步骤即可完成基于postman和Jenkins的自动化接口测试。 Newman的使用: 可以参考:

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装

你离开我真会死。 提交于 2021-02-13 19:04:33
2019/1/31更新,经过我一段时间的使用 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用docker方式安装 非docker方式安装,请参考 linux centos 安装Jenkins(非docker方式) 以下是原文内容 写在前面 其实园子里很多大佬都写过,我也是一个搬运工很多东西不是原创的,不过还是想把自己安装的过程,记录下来如果能帮到大家的忙,也是一件功德无量的事; 运行环境 centos:7.2 cpu:1核 2G内存 1M带宽 其实用的腾讯云 安装jenkins 这里的jenkins就不从docker hub里面直接pull镜像安装了,为什么呢,我这里引用大佬的原话: 首先不直接从Docker Store上直接Pull Jenkins 的 Image 文件,因为待会需要进行dotnet core 的 Docker自动部署,需要对宿主机上的Docker进行直接操作,那么需要挂载 Docker 给 Jenkins Image,所以现在需要自己动手编写 Dockerfile 构建自定义的Jenkins。 https://www.cnblogs.com/LongJiangXie/p/7517909.html 1、构建自定义的Dockerfile # touch

记接口测试小里程

為{幸葍}努か 提交于 2021-02-13 18:36:08
  接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。                                                                                           -----------------百度百科   接口测试,属灰盒测试范畴。可能都知道测试类型分黑盒测试,白盒测试,灰盒测试;黑盒测试又名功能测试,功能测试的范围局限于UI层面,主要测试产品的各个功能是否正常,是否如预期的一样。遗憾,通常与预期的需求相差甚远,催生了一系列的测试岗位诞生。   当然,白盒测试则是基于代码进行测试、对一个函数进行测试,颗粒度与黑盒测试形成一个极端对比。那么,对于系统间的子模块与子模块之间的衔接,逻辑依赖、数据交换,接口之间的交互则是灰盒测试,也是接口测试。          类似的图有很多,本图也是在百度进行搜索到的。    “类似的图”说明的有很多,不论是从测试类型、技术角度以及收益角度都是可以说的通的。那么今天的主角便是接口测试(API)测试,可以抛出问题了。。    秉行5w1H原则:      (why)为什么要做接口测试?      (what)接口测试是测什么?     

How can I use different private docker agents based on parameter in Jenkins declarative pipeline?

喜夏-厌秋 提交于 2021-02-13 17:10:06
问题 I am trying to choose a different docker agent from a private container registry based on an a parameter in Jenkins pipeline. For my example let's say I have 'credsProd' and 'credsTest' saved in the credentials store. My attempt is as follows: pipeline { parameters { choice( name: 'registrySelection', choices: ['TEST', 'PROD'], description: 'Is this a deployment to STAGING or PRODUCTION environment?' ) } environment { URL_VAR = "${env.registrySelection == "PROD" ? "urlProd.azure.io" :

How can I use different private docker agents based on parameter in Jenkins declarative pipeline?

拥有回忆 提交于 2021-02-13 17:05:51
问题 I am trying to choose a different docker agent from a private container registry based on an a parameter in Jenkins pipeline. For my example let's say I have 'credsProd' and 'credsTest' saved in the credentials store. My attempt is as follows: pipeline { parameters { choice( name: 'registrySelection', choices: ['TEST', 'PROD'], description: 'Is this a deployment to STAGING or PRODUCTION environment?' ) } environment { URL_VAR = "${env.registrySelection == "PROD" ? "urlProd.azure.io" :

How can I use different private docker agents based on parameter in Jenkins declarative pipeline?

谁都会走 提交于 2021-02-13 17:04:11
问题 I am trying to choose a different docker agent from a private container registry based on an a parameter in Jenkins pipeline. For my example let's say I have 'credsProd' and 'credsTest' saved in the credentials store. My attempt is as follows: pipeline { parameters { choice( name: 'registrySelection', choices: ['TEST', 'PROD'], description: 'Is this a deployment to STAGING or PRODUCTION environment?' ) } environment { URL_VAR = "${env.registrySelection == "PROD" ? "urlProd.azure.io" :

Docker快速入门

纵饮孤独 提交于 2021-02-13 08:45:13
Docker已经火了很长一段时间,最近打算在 阿里云 上好好熟悉一下Docker的相关应用,为今后的工作做准备,希望如下图一样,Docker技术一飞冲天。 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotCloud公司,其目标是“Build, Ship and Run Any App, Anywhere”,主要概念包括 镜像、容器、仓库 。Docker引擎的技术是Linux容器( Linux Containers , LXC)技术。容器有效地将由单个操作系统的资源划分到孤立的组中,以便更好地在孤立的组之间平衡有冲突的资源使用需求。 镜像Image :类似于虚拟机镜像,可以理解为面向Docker引擎的 只读模板 ,包括文件系统。 获取镜像: docker pull NAME[:TAG] 查看镜像信息: 查看所有镜像 docker images ;查看某个镜像具体信息 docker inspect 添加标签: docker tag xxx ubuntu:first 搜寻镜像: docker search xxx , -s=0 指定星级 删除镜像: docker rmi xxx ,一般情况下会删除镜像的标签,而不是文件,当删除最后一个TAG时则会删除文件,需要注意。 使用镜像ID删除镜像: -f 删除可以强制删除镜像

postman

微笑、不失礼 提交于 2021-02-13 01:43:43
Postman简介 一般简单的接口测试我们可以直接在浏览器里面进行调试,但是涉及到一些权限设置的就无法操作了,因此我们需要接口测试的相关工具;Postman 是一个接口测试和 http 请求的工具。 官网地址: https://www.getpostman.com Postman 的优点: 支持各种的请求类型: get、post、put、patch、delete 等 支持在线存储数据,通过账号就可以进行迁移数据 很方便的支持请求 header 和请求参数的设置 支持不同的认证机制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0 等 响应数据是自动按照语法格式高亮的,包括 HTML,JSON 和 XML 下载安装 Postman有windows,Mac、Liunx以及Chrome插件版本。这里主要介绍Win平台版本的使用。 下载地址: https://www.getpostman.com/apps 官方文档: https://www.getpostman.com/docs/v6/ Postman Api文档: https://docs.postman-echo.com Postman 入门 安装好之后启动程序,进入主界面。准备开始使用Postman. 发送第一个请求 启动软件后在引导界面点击Request,给Request命名

DDD战略设计相关核心概念的理解

▼魔方 西西 提交于 2021-02-12 04:40:49
01 前言 本文想再讨论一下关于领域、业务、业务模型、解决方案、BC、领域模型、微服务这些概念的含义和关系。 初衷是我发现现在DDD领域建模以及解决方案落地过程中,常常对这些概念理解不清楚或者有歧义,导致我们不知道如何运用这些概念来落地我们的软件。 先通过一个图来说明一下这些概念之间的关系,如下图所示 02 领域、业务、业务模型 · 领域,即问题域、问题空间,领域是一种边界、范围。 所以,一个领域代表了一个问题域的边界,也可以理解为是一个业务的边界。 · 领域边界越大,业务范围就越大,反之则相反。 通常我们大家交流都比较喜欢用业务这一词,比如这块业务,那块业务,业务的边界,我是一个业务开发人员(区分于我是一个中间件开发人员)。而领域一词,相对比较抽象,不是那么容易懂。 · 领域既然是一个边界,所以可以划分领域的大小。 即领域划分,划分出来的子领域简称子域,每个子域对应一个小的问题域和和小的业务;当然,不同的子域的重要性也是不同的,所以才有了核心子域、支撑子域的说法,这点显而易见。 · 每个业务都有一个对应的业务模型 (注意这个业务模型不是领域模型,而是一个业务概念的模型,领域模型下面会提到),这个业务模型设计的时候,完全不需要考虑任何软件设计的思想,比如对象的抽象、继承、存储、性能,等。 我们是从业务本身出发,分析业务边界范围内的各种业务概念,以及业务概念之间的关系