Jenkins

同城技术负责人纯手写:小团队构建大网站中小研发团队架构实战

那年仲夏 提交于 2020-08-10 20:12:53
本书结合作者近几年的工作经验,总结了一套可直接落地、基于开源、成本低、可快速搭建的中小研发团队架构实践方法。本书共5篇22章,开篇是本书的导读;架构篇是设计思想的提升,包括企业总体架构、应用架构设计、统- -应用分层等;框架篇主讲中间件和工具的使用,包括消息队列、缓存、Job、 集中式日志、应用监控和微服务等:公共应用篇是技术与业务的结合,包括单点登录和企业支付网关:进阶篇是从架构到管理,包括技改案例、技术与业务的匹配与融合等。从架构、框架、公共应用,到案例实战和技术管理,本书将大公司的工程理念压缩应用到中小研发团队,使小团队也能构建大网站。 本书不仅适用于高级程序员、架构师、CTO,也适用于IT项目经理、技术经理,以及对架构技术感兴趣的中高级软件开发从业者。需要获取的小伙伴可以直接添加小助理vx:kaixindian331或者扫文末二维码即可免费获取! 前言 需求:没有人会读前言? ! 解决方案:把前言内容写好,并作为开篇第1章。 话不多说直接开始“展示” 第1篇开篇. 1可参考的才是有价值的(含案例和代码) 第2篇架构篇 2企业总体架构 3应用架构设计 4统一应用分层 5生产环境诊断工具 WinDbg. 第3篇框架篇 6 RabbitMQ 快速入门及应用 7 Redis 快速入门及应用 8任务调度Job. 9应用监控系统Metrics 10 集中式日志ELK 11微服务架构

Pass Groovy object into active choice parameter

回眸只為那壹抹淺笑 提交于 2020-08-10 19:17:50
问题 I use active choice reactive parameter with declarative pipeline. But I ran into a problem. Is there any way to pass list object into script or call external method? For example environments = 'lab\nstage\npro' List<String> someList = ['ccc', 'ddd'] def someMethod() { return ['aaa', 'bbb'] } properties([ parameters([ choice(name: 'ENVIRONMENT', choices: "${environments}"), [$class: 'CascadeChoiceParameter', choiceType: 'PT_SINGLE_SELECT', description: 'Select a choice', filterLength: 1,

Sort map by value in Groovy jenkins pipeline script

陌路散爱 提交于 2020-08-10 19:13:09
问题 How to do custom sort of Map for example by value in Jekins pipeline script? This code doesn't quite work in Jenkins pipeline script: Map m =[ james :"silly boy", janny :"Crazy girl", jimmy :"funny man", georges:"massive fella" ] Map sorted = m.sort { a, b -> a.value <=> b.value } The map is still not sorted. I decided to crate a separate question with better name and tags, because many people were struggling to find an answer here: Groovy custom sort a map by value 回答1: You will have to

确定不来看看——自动化框架如何搭建?自动化测试脚本怎么写?老司机帮你搞定!

筅森魡賤 提交于 2020-08-10 18:19:18
一、何为框架?何为自动化测试框架? 无论是日常技术交流,还是在自动化测试实践中,经常会听到一个词叫:框架。之前对“框架”这个词知其然不知其所以然。现在看过一些资料以及加上我自己的一些实践有了我自己的一些看法。 那么:什么是框架? 在自动化实践过程中,框架就是一个半成品,框架是指对应用系统的部分设计或实现系统的部分结构。 举个栗子:selenium是不是一个框架?Yes,它是一个框架,那么这个框架能不能对一个指定的系统比如淘宝做自动化测试?答案是不能的,我们还必须使用这个框架封装好的方法去实现淘宝的业务逻辑。所以说框架就是封装好的一个半成品。 那么:什么是自动化测试框架? 自动化测试框架就是:为了对一个指定的系统做自动化测试而封装的一个半成品,自动化测试攻城狮可以调用这个半成品封装好的方法去实现一个指定系统的自动化测试! 还是不明白?没关系,下面一张图道破玄机!下面这个照片框架请问是不是一个 半成品 ?不是一个完整的照片?但是它又是整个照片的一部分! 欢迎加入:642830685,群,领取最新的面试题资料和Python自动化测试接口、框架搭建方面资料 二、根据驱动模式不同自动化测试框架分为四种模式。 ( 1) 数据驱动框架 (2) 关键字驱动框架 (3) 数据驱动+关键字驱动混合型驱动框架 (4) 行为驱动(lettuce)测试框架 三、自动化测试框架如何实现(数据驱动框架) 1

DevOps系列(1)-总体架构

删除回忆录丶 提交于 2020-08-10 16:32:55
扯闲淡 在进入正式话题之前,先扯个淡,这算是第一篇我正式在博客上发布的随笔吧,之前也一直有想写点什么,将自己多年的工作经验分享出来,供大家参考点评,但是奈何一直对自己的文字功底不自信(其实也确实比较烂,上学期间,语文永远是拖后腿的),当然,最主要还是因为自己的懒惰,导致一直没有付出行动。 细算下来,到目前为止,我从事.Net开发已经差不多八年了,也算是一只见证了.Net从兴起到衰落(不知道这么说会不会被打)再到逐渐有复苏迹象的老鸟了。在这个过程中,带过团队,也担任过架构师(当时为了证明自己并非野路子,2018年还专门拿下了软考《系统架构设计师》认证)。在企业内部Wiki上也写过不少文章,做过不少技术分享,但毕竟是小群体,文章写得再烂(甚至只有提纲,或者只字片语,或者只有一张图),也可以通过沟通解释清楚,就算真的写错了,也会有很多补救措施,不会产生什么不良影响。而对外发布,对内容的完整性,严谨性以及文字组织能力的要求就要高得多,而这正是我不得不花精力填补的短板。 2020年注定是不平凡的一年,对于我们这些.Neter来说更是如此,我不确定能否通过文字完整的出自己的思想,但是我会尽力,希望我的文字不会带偏你的思路,当然,如果你能赞同我的观点,并能从中得到一点点启发,那将是我莫大的荣幸。 好了,闲淡扯完了,进入今天的正题吧! 总体架构 在这里,我准备结合自己的工作经历和个人理解

整理——软件测试常见面试题

此生再无相见时 提交于 2020-08-10 16:18:12
伴随着疫情的好转,又到了一年收获的季节。 整理下常用的测试题目,没有标准答案,需要结合自身的工作实践去应答。 功能测试相关 1、测试流程以及对应阶段的输出有哪些? 2、Bug的优先级如何划分以及Bug的生命周期。 3、软件测试模型。 4、如何定位Bug? 5、版本发布流程、灰度发布方案。 测试用例相关 1、常见测试用例设计方法,举例说明。 2、测试用例优先级如何划分与定义。 3、测试用例评审如何做,以及评审带来的意义。 4、设计用例的思路,经典案例电梯如何测试? 接口测试相关 1、接口测试常用工具有哪些,应用实践。 2、常用的抓包工具有哪些,应用实践。 3、如何描述一个接口。 4、常见接口请求类型。 5、GET请求和POST请求的区别。 6、接口测试与功能测试相比,有哪些点需要关注。 7、接口测试用例如何设计。 8、接口自动化如何实现,用什么架构。 数据库相关 视图、索引、多表关联、左右链接、存储过程、数据备份等。 运维相关 1、是否搭建过测试环境,如何搭建? 2、Redis/Nginx/Apache/Jenkins/Tomcat是否接触过,如何应用? 3、Linux应用? 性能测试相关 1、资源监控主要是监控哪些资源?常用工具有哪些? 2、常用的性能测试工具有哪些,区别有什么? 3、性能测试流程是什么?如何设计方案? 4、常用性能测试指标有哪些? 5、如何做性能调优? 6、分层

一分钟开始持续集成之旅系列之:C 语言 + Makefile

巧了我就是萌 提交于 2020-08-10 12:56:33
作者:CODING - 朱增辉 前言 make 工具非常强大,配合 makefile 文件可以实现软件的自动化构建,但是执行 make 命令依然需要经历手动输入执行、等待编译完成、将目标文件转移到合适位置等过程,我们真正关心的是最终的输出,却在这些中间过程上浪费了很多时间。利用 CODING 持续集成功能可以实现自动触发构建,构建全程自动化,无须分心看护,节省时间。 本文通过一个 C 语言 + Makefile Demo 项目讲解如何使用 CODING 持续集成功能创建构建计划,自动触发构建,以及如何将生成的目标文件发布到 CODING generic 制品库。 准备工作 环境 本文涉及到以下工具,请确认已存在,或者根据链接的文档进行安装。 git make gcc 另外,您还需准备一个 CODING 项目 。 代码 我已经准备了一份简单的 示例代码 ,使用 make 工具构建 Hello-world 程序。 // hello.c #include <stdio.h> int main() { printf("Hello, World!\n"); return 0; } 您可以通过下面的命令克隆到本地。 git clone https://e.coding.net/coding-public/demo-c-make.git 仓库中还包含了一个 makefile 文件

K8S(09)交付实战-通过流水线构建dubbo服务

天大地大妈咪最大 提交于 2020-08-10 12:31:11
k8s交付实战-流水线构建dubbo服务 目录 k8s交付实战-流水线构建dubbo服务 1 jenkins流水线准备工作 1.1 参数构建要点 1.2 创建流水线 1.2.1 创建流水线 1.2.2 添加10个构建参数 1.2.3 添加完成效果如下: 1.2.4 添加pipiline代码 1.3 用流水线完成dubbo-service的构建 1.3.1 选择参数化构建 1.3.2 填写完成效果如下 1.3.3 执行构建并检查 2 交付dubbo-service到k8s 2.1 准备资源清单 2.1.1 创建depeloy清单 2.2 创建k8s资源 2.2.1 创建app名称空间 2.2.2 创建secret资源 2.2.3 应用资源清单 3 交付dubbo-monitor监控服务到k8s 3.1 制作dobbo-monitor镜像 3.1.1 下载源码 3.1.2 修改配置文件: 3.1.3 优化Dockerfile启动脚本 3.1.4 构建并上传 3.2 创建资源配置清单 3.2.1 准备目录 3.2.2 创建deploy资源文件 3.2.3 创建service资源文件 3.2.4 创建ingress资源文件 3.3 创建dobbo-miniotr服务 3.3.1 应用资源配置清单 3.3.2 添加dns解析 3.3.3 访问monitor的web页面 4 构建dubbo

你的 DevOps 大脑:思考方式和工作方式

前提是你 提交于 2020-08-10 09:11:38
本文首发于: Jenkins 中文社区 原文链接 作者:Helen Beal 译者:Renee 我经常不得不说的 DevOps 神话之一就是 DevOps 完全是关于自动化和工具的。尽管二者是达到 DevOps 目标的基本要素( DevOps 的目标是为了更快更安全地交付更有价值成果而优化从创意到价值实现的过程),但在 DevOps 的发展初期,Damon Edwards 和 John Willis 提出了 CALMS 这一缩写词来帮助解释有关 DevOps 的问题,其中字母 C 表示的文化也是一个重要元素。该想法得到了 Gartner 一篇文章的支持。该文章提到研究表明有 50%的受访者表示人的问题(与流程、技术和信息的问题相对)是目前采用 DevOps 原理和实践的最大障碍。我对自己客户的观察也支持这一想法,我的客户说文化是他们当下面临的最困难的挑战。 客户从一开始就这么说。大约七年前,当我们启动 Ranger4 的 DevOps 业务时,我们以为正在构建的是一个围绕软件和工具的业务。我们之前做么做过,并且这样做也是作为技术人员的合理选择。我们惊讶于客户一遍又一遍地问我们该如何改变文化。我们习惯于谈论技术;情感和感觉这些“软性”的东西是在饮水机旁闲谈的内容,或者用英式术语,说是酒吧里的话题。但是,当我们立即开始帮助客户后就迅速弄清了,文化可以被量化并文化生成的东西可以被确定

pytest+requests+Python3.7+yaml+Allure+Jenkins+docker实现接口自动化测试

眉间皱痕 提交于 2020-08-10 08:31:53
接口自动化测试框架(用例自动生成) 项目说明 本框架是一套基于 pytest+requests+Python3.7+yaml+Allure+Jenkins+docker 而设计的数据驱动接口自动化测试框架, pytest 作为执行器,本框架无需你使用代码编写用例,那你可能会担心万一有接口之间相互依赖,或者说需要登入的token等之类的接口,该如何编写用例呢,在这里告诉你们本框架已经完美解决此问题,所有的一切将在yaml中进行!!本框架实现了在yaml中进行 接口用例编写,接口依赖关联,接口断言,自定义测试用例运行顺序 ,还有很重要的一点,实现了类 jmeter函数助手 的功能,譬如生成MD5、SHA1、随机定长字符串、时间戳等,只需要你在yaml中使用特殊的写法 $Function(arg)$ ,就能够使用这些函数啦,此外在测试执行过程中,还可以 对失败用例进行多次重试 ,其重试次数和重试时间间隔可自定义;而且可以根据实际需要扩展接口协议,目前已支持 http接口和webservice接口 。 技术栈 requests suds-py3 Allure pytest pytest-html yaml logging Jenkins docker 函数助手 环境部署 命令行窗口执行pip install -r requirements.txt 安装工程所依赖的库文件 解压allure