Jenkins

Jenkins/持续集成/持续交付经典书籍推荐

允我心安 提交于 2020-11-02 14:52:52
1.《Jenkins 2权威指南》 正如其名,想要系统、全面的掌握Jenkins 2相关知识和技能,这边书是最权威的了。书中有大量代码近乎“手把手”地教导读者如何编写Pipeline脚本,如果你对Pipeline很陌生,那一定要看看这本书。 2.《Jenkins权威指南》 如果你想对Jenkins 1.x版本也有一些了解,期望更全面的掌握Jenkins,那这本书也有必要入手。本质上,Jenkins 2的Pipeline as Code是把Jenkins 1.x的一些需要图形化配置的选项代码化了,了解Jenkins 1.x版本,依然有一定的必要性。 3.《Jenkins 2.x实践指南》 这本书是国人编写的,相比上面两本翻译的书籍,行文思维会更本土一些,更易理解,前面两本就像产品说明书,这一本更像动手的实验课,更加强调实战和实践。 4.《持续集成实践》 作者曾就职于阿里软件、恒生电子、SEVEN network、PP租车等互联网公司,熟悉hadoop,熟悉J2EE架构,云存储、分布式计算,擅长持续集成Jenkins,熟悉weblogic,websphere等中间件,具有大数据、移动互联网及电子商务、云计算方面的丰富测试经验。 5.《持续集成与持续部署实践》 腾讯研发总监leo fan,阿里巴巴高级技术专家吴毓雄,滴滴出行高级技术专家任杨,飞谷云创始人、大数据实战专家

Jenkins/持续集成/持续交付经典书籍推荐

蹲街弑〆低调 提交于 2020-11-02 07:14:41
1.《Jenkins 2权威指南》 正如其名,想要系统、全面的掌握Jenkins 2相关知识和技能,这边书是最权威的了。书中有大量代码近乎“手把手”地教导读者如何编写Pipeline脚本,如果你对Pipeline很陌生,那一定要看看这本书。 2.《Jenkins权威指南》 如果你想对Jenkins 1.x版本也有一些了解,期望更全面的掌握Jenkins,那这本书也有必要入手。本质上,Jenkins 2的Pipeline as Code是把Jenkins 1.x的一些需要图形化配置的选项代码化了,了解Jenkins 1.x版本,依然有一定的必要性。 3.《Jenkins 2.x实践指南》 这本书是国人编写的,相比上面两本翻译的书籍,行文思维会更本土一些,更易理解,前面两本就像产品说明书,这一本更像动手的实验课,更加强调实战和实践。 4.《持续集成实践》 作者曾就职于阿里软件、恒生电子、SEVEN network、PP租车等互联网公司,熟悉hadoop,熟悉J2EE架构,云存储、分布式计算,擅长持续集成Jenkins,熟悉weblogic,websphere等中间件,具有大数据、移动互联网及电子商务、云计算方面的丰富测试经验。 5.《持续集成与持续部署实践》 腾讯研发总监leo fan,阿里巴巴高级技术专家吴毓雄,滴滴出行高级技术专家任杨,飞谷云创始人、大数据实战专家

日常工作中应用到的技术

三世轮回 提交于 2020-11-02 05:41:00
精华推荐 : 重磅发布 - 自动化框架基础指南pdf 在日常工作中,我用到的技术,这里做一个简单的梳理 不管是查看系统日志还是自动化测试平台部署,都在linux上,所以 shell 成为了最常用的技术 最近两年在团队中实践"测试即代码"的理念,用于培养业务团队的自动化能力,选择的编程语言为Python,为了确保语言版本一致,选用 Python3 在实践“测试即代码”过程中,为了确保整个团队有持续的交付,基于Jenkins 2.X的核心特色:pipeline 实现每周交付,所以 Groovy 也成了常用的技术 虽然在自动化测试过程尽量不做UI级,但有些特定的辅助工具,依旧基于UI操作方式会更好,所以对HTML、CSS、Javascript的掌握也成了基本功 当然了,SQL是必须的,查数据、分析、提取等等都得掌握 上述仅涉及基本的语言,未提及任何库!!! 总体而言,技术的选择和应用,不仅仅基于个人的爱好,更多的是考虑到团队的整体情况而定。 在库方面的选择 学习方面以标准库为主,应用方面以基于标准库扩展或是与标准库有相关理念的第三方库为主。 例如在基础测试框架方面,学习 unitt est 标准库,企业实战则选择 pytest ,并且禁止使用各种奇葩、高大上的特性 ,通过软件工程思想、业务梳理结合最常用的特色来实现交付 在接口测试方面,则使用 requests 库 web、移动端使用基于

DevOps与Kubernetes 、容器的关系

怎甘沉沦 提交于 2020-11-01 14:35:05
近两年,随着容器、Kubernetes 等技术的兴起,DevOps 这个概念被广泛提及并被大量使用。 本文将会从以下几个方面着手,结合实验展现的方式,让读者真正理解 DevOps 的含义。 DevOps 产生的背景 DevOps 与容器、Kubernetes 之间的关系 DevOps 的常用工具 DevOps 是什么 DevOps 中的 Dev 指的 Development,Ops 指的是的 Operations,用一句话来说 DevOps 就是打通开发运维的壁垒,实现开发运维一体化。 从瀑布式开发到敏捷开发 谈到 DevOps 的发展史,我们需要先谈一下敏捷开发。 首先,敏捷开发是面向软件的,而软件依赖于计算硬件。我们知道,世界上第一台计算机是在 1946 年出现的。因此,软件开发相对于人类历史而言,时间并不长。相对于软件开发方法论的掌握,人们更擅长于工程学,如盖楼、造桥等。为了推动软件开发,1968 年,人们将工程学的方法应用到软件领域,由此产生了软件工程。 软件工程的方式有其优点,但带来了不少问题。最关键一点是:软件不同于工程。通过工程学建造的大桥、高楼在竣工后,人们通常不会对大桥高楼的主体有大量使用需求的变更;但软件却不同。对于面向最终用户的软件,人们对于软件功能的需求是会不断变化的。在瀑布式开发的模式下,当客户对应用有变化的需求时,软件厂商得重新开发软件

Python基础语法之输入输出、基本数据类型介绍

有些话、适合烂在心里 提交于 2020-10-31 06:27:40
输入输出 先从输出开始吧,编程语言的学习好像都是从打印Hello World开始的 print()会依次打印每个字符串,遇到逗号“,”会输出一个空格 print()函数输出后默认会换行,print("", end="") 去除换行 print ( 'Hello world' ) print ( 'a' , 'b' , 'c' ) 输入:通过input() 可以达到这个效果。 name =input() hello print(name) 执行效果: 格式化输出: 换行与缩进 python的语法其实总结一下就两条: (1)一条代码作为一行:比如一个赋值、一个运算、一个请求、一条打印等。(多行代码写在一行时,中间用;间隔) (2)对齐和缩进:同一级别的代码只需要保持对齐即可,对于不同级别的代码进行缩进,这样就能区分开代码执行的逻辑。 第二点的话,对于有过其他编程语言经验的人来说,可能一开始会有点不习惯,用惯了其他IDE工具的一键排版等功能,代码编写的比较随意,在python里面就不行,对代码编写规范要求比较高。 关于缩进风格: 标准Python风格是每个缩进级别是使用4个空格,永远不要使用Tab制表符! 因为不同编辑器,处理制表符的方式不同,有些会把它当成一个制表符,有的会将其看成是4个或4个以上的空格,因而会产生源代码中制表符和空格的使用不一的后果,违反了Python的缩进规则

微服务架构10条最佳实践

南笙酒味 提交于 2020-10-30 08:08:51
转载自公众号: SpringForAll社区 确保你在分布式系统中,努力实现这些微服务的最佳实践,例如监控和REST成熟度。 使用微服务架构可以解决所有的软件架构的问题,对吗?当然,这是不对的。但是,使用微服务架构是有价值的。 Hüseyin Babal 最近发表了一个观点,即微服务架构是无法解决所有的问题的。但是,使用微服务架构是构建现代软件架构的坚实基础。在过去的许多年里,我们都知道维护单体应用而带来的挑战,所以 我们寻找一个新的选择来实现可持续,可扩展,易于集成的软件架构。以最佳实践为基础来实现微服务架构可以大幅度的改善你的软件架构。 Hüseyin 是aurea的首席软件架构师和Kloia的咨询师。他最近的演讲, 微服务架构终极指南 涵盖了他每天工作的大部分的经验和展现了实现微服务架构的最佳实践。 在他的演讲中,它使用Spring Boot来进行应用开发,Consul作为服务发现,Elasticsearrch 和Kibana作为监控,Docker和Jenkins作为持续交付。演讲中包含了十条最佳实践的代码示例演示。 最佳实践1 -- 尝试达到真正的REST 在意识到REST API的好处之后,我们可以查看上图的Leonard Richardson's 的成熟度模型,对于REST的使用有四个级别的定义。 级别0:使用一个端点来访问软件资源 级别1

持续集成之Jenkins+Gitlab实现持续集成

陌路散爱 提交于 2020-10-30 04:51:49
项目使用git+jenkins实现持续集成 开始构建 General 源码管理 我们安装的是 Git 插件,还可以安装 svn 插件 我们将 git 路径存在这里还需要权限认证,否则会出现error 我们添加一个认证 选择一下认证方式(我们可以在 系统管理-->Configure Credentials )里面进行设置 #提示:gitlab有一个key,是我们用来做仓库的key。拥有的权限是read-only 公钥我们需要在服务器上查看。 [root@linux-node1 ~] # ssh-keygen -t rsa Generating public/ private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint

持续集成高级篇之Jenkins Pipeline 集成sonarqube

南笙酒味 提交于 2020-10-29 06:03:28
系列目录 前面章节中我们讲到了Sonarqube的使用,其实Sonarqube获取msbuild结果主要是执行三个命令,开始标记,执行msbuild,结束标记,这些都是命令,是非常容易集成到我们ci流程中的,但是使用这种方式最为简单,但是Sonarqube插件与jenkins集成的更好,我们可以通过jenkins页面看到构建结果是否成功,以及可以通过链接轻松地跳到Sonarqube web管理界面.前面章节我们介绍了如何在自由式任务中使用sonarqube插件,这里我们讲下如何在pipeline中使用sonarqube插件. 还是直接先上代码 node { def sqScannerMsBuildHome = tool 'defaultSonarforMsbuild' stage('SonarQube analysis') { withSonarQubeEnv('defaultSonarserver') { echo "\"默认地址是:${sqScannerMsBuildHome}\"" bat "\"${sqScannerMsBuildHome}\\SonarQube.Scanner.MSBuild.exe\" begin /k:jenkinstest /n:jenkinstest /v:110.0 /d:sonar.host.url=http://localhost:9000"