DevOps/CI/CD工程师入门系列
文章平均质量分 60
DevOps文化基础了解,Jenkins平台的掌握和基本使用,持续集成(CI),持续交付(CD),持续部署(CD)等基础实践。
Anthony_tester
这个作者很懒,什么都没留下…
展开
-
DevOps基础-4.3-基础架构自动化:不可变的部署
在上一个篇文章中,我们解释了配置管理和编排工具的简单使用。但是,CM领域正在发生一些新的变化。虽然CM演进的道路仍在继续,但在配置级别上有一些有趣的发展,公共和私有云计算导致模型驱动自动化的出现,其中底层系统的声明模型可用于创建系统。 亚马逊拥有云计算,Azure拥有Azure资源管理器模板等。出现了一个非常合理的问题,为什么我的系统使用一个模型,我的操作系统配置...原创 2020-08-22 22:28:29 · 1305 阅读 · 0 评论 -
Jenkins基础入门-1-Jenkins简单介绍和环境安装
如果在做自动化测试的朋友,应该熟悉Jenkins,或者至少使用过。如果一个人没有使用过Jenkins或者hudson,hudson是Jenkins的前身,他还说自己做过自动化测试,只能说,他只不过是在做半自动化测试。为什么是半自动化呢?他只不过是把手工用例转换自动化脚本,真正的自动化测试是一个全公司的平台,有测试,开发,运维,三个团队一起研发和维护和使用的自动化测试平台,这个通常叫devops,也原创 2017-09-16 16:16:28 · 12637 阅读 · 4 评论 -
Jenkins基础入门-2-把Jenkins服务部署在Tomcat下
一看标题,是不是感觉我在第一篇文件介绍如何安装Jenkins是白写了。其实不是的,如果是个人学习用,第一篇文章的介绍安装方式就可以。插入这篇是因为,实际项目中,是把Jenkins服务部署在Tomcat服务器下。因为,这样,Jenkins才能做成一个大平台,特别是公司级别的Jenkins服务器。Tomcat可以帮你解决性能,访问过载的问题,而这些问题,统统都是运维的强项,所以,实际项目...原创 2017-09-16 16:42:04 · 12720 阅读 · 4 评论 -
Jenkins基础入门-3-改变Jenkins家目录
本篇来演示如何改变Jenkins家目录,这个设置一般很少修改,但是如何还是大企业的Jenkins服务器。作为运维人员,他需要考虑jenkins家目录如果文件太多,为了节约磁盘空间,可能需要把这个家目录移动到别的磁盘里。如何安装插件太多,Jenkins服务器运行时间长了,log文件都有很多。所以,修改Jenkins的家目录是有必要的,对于个人学习来讲,了解一下就可以。1.登录jen...原创 2017-09-16 17:57:01 · 6371 阅读 · 0 评论 -
Jenkins基础入门-4-如何使用Jenkins的CLI
本篇介绍如何使用Jenkins的CLI,CLI即Command Line Interface。在windows上的cmd也是一个CLI。为什么要用CLI呢,CLI和图形界面对比,主要有这些优点:简单,容易,节省内存,支持持续集成。一般来说,如果一个工具支持CLI,那么这个工具是可以做持续集成。千万不要理解Jenkins就是持续集成,持续集成不是一个工具,是一种方案,一种思想,一种模式。1. 启原创 2017-09-16 19:29:05 · 12097 阅读 · 3 评论 -
Jenkins基础入门-5-用户和权限管理
本篇,我们来介绍下Jenkins上如何创建用户,以及如何管理用户,和那些用户可以有ProjectA的权限。这个很好理解,一个项目,有开发和测试,和运维,每个团队都有不同的角色,例如有测试经理和测试工程师,他们两个的权限肯定是不同的。一个项目挂在Jenkins上,就需要给不同人不同权限,学习了本篇内容,你就可以搞定用户创建和管理,以及权限控制。1.新建用户登录jenkins,然后点击 系统管原创 2017-09-16 22:13:49 · 7818 阅读 · 2 评论 -
Jenkins基础入门-6-简单了解系统设置
本篇来介绍Jenkins的系统设置,只是简单介绍一下每个项的功能设置。查看了官网关于这块内容介绍,结果官网都没有文档介绍,就显示这个功能的文档在整理。国内一些关于jenkins的博客,压根就没有提到这块功能。本文简单挑选前面几个项来介绍几本的功能设置。1. 进入到系统设置管理员账号登录Jenkins,点击系统管理->点击系统设置,界面如下。第一项是家目录,前面文章已经介绍过,这里不原创 2017-09-17 20:06:54 · 6342 阅读 · 0 评论 -
Jenkins基础入门-7-创建一个Project的基本过程
本篇来介绍如何创建一个Job,这里叫job叫习惯了,最新版本jenkins叫item或者project。前面文章,我们简单提了一下,新建一个Job的过程。这里我们主要介绍这个Job的配置过程。我们先了解一个Job的创建的基本过程,以后才能去创建一个复杂的job。1. 点击新建,给item命名这里Job的名称叫Test1,类型只有一个,选择自由风格软件项目,点击Ok.2.出现了Tes原创 2017-09-17 22:22:16 · 7987 阅读 · 3 评论 -
Jenkins基础入门-8-构建触发器之远程构建
前面一篇,我们大致走完了一个Project的创建过程和简单介绍了周期性构建的例子。这篇我们继续来介绍关于构建触发器的其他构建,先来看看远程构建。1.直接上图,什么是远程构建 我们这里勾选第一项,什么是远程构建呢?上面提示你了,通过复制这个URL地址,在别的机器上打开这个URL就相当于给这个jenkins服务器发送了一个构建请求。只不过这个请求是在其他人电脑上发出的。这里重点原创 2017-09-18 20:30:29 · 11821 阅读 · 5 评论 -
Jenkins基础入门-9-构建触发器之项目之间依赖关系
前面一篇已经介绍了远程构建的方式,这篇我们来介绍项目之前的依赖关系构建。什么是依赖关系呢》项目Test1构建是需要在项目Test2构建完成之后进行,这就是依赖关系,用Jenkins上的界面来解释,就是下面这张图的红色区域选项。 为了模仿这个过程,我在前面文章基础上创建了Test2和Test3,每个项目里面的构建内容都是 windows batch commonds,都是输入di原创 2017-09-18 21:28:07 · 14462 阅读 · 4 评论 -
Jenkins基础入门-10-新建一个执行java程序的Jenkins Job
本篇来介绍如何在Jenkins上创建一个job,用来执行Java程序。这个Java程序,我们只写一个简单的程序,就一个Hello.java文件来代表我们的Java程序,通过了解整个创建过程,来模仿实际工作中一个Java项目在Jenkins上构建的过程。1. 用记事本写一个Hello.java,代码如下public class Hello{ public static void mai原创 2017-09-18 22:02:50 · 8215 阅读 · 4 评论 -
Jenkins基础入门-11-新建一个基于git源码管理的Job
上一篇,我介绍了如何创建一个简单的java项目,然后在Jenkins上,执行构建。这次我们介绍如何创建一个基于Git的Job,如果Git仓库发生源码变化,可以触发立即构建。加入你对git一点都不了解,你可以参考这篇文章 和关于如何把本地项目上传到github的文章。1. Jenkins上安装git插件 登录Jenkins,点击系统设置->插件管理,搜索框输入git pl原创 2017-09-20 21:26:09 · 7200 阅读 · 3 评论 -
Jenkins基础入门-12-自动化部署
本篇来简单谈谈自动化部署,前面文章我们都是介绍Build,也就是构建,这篇我们来介绍Deployment,也就是部署。这部分可能偏运维工程师的活。在持续集成中,一般的流程是这样的:1.Build->2.Deployment->3.Test->4.Release。Build一般是指代码的构建,例如把代码构建出一个war包或者手机app安装包,又或者是windows可执行的exe文件,这些都叫Buil原创 2017-09-21 22:08:49 · 5197 阅读 · 4 评论 -
Jenkins基础入门-13-Jenkins构建监视器-CatLight
这里介绍一个消息提醒器,叫CatLight,这个软件的图标就是有一个发金黄色光亮的猫。这里介绍它,是因为,CatLigh可以用来当做一个Jenkins上Job的构建的一个监控器使用,简单来了解,CatLight是如何和Jenkins进行配置,达到监控Build的。1.CatLight的下载和安装浏览器打开https://catlight.io,进行windows版本下载。2. 默认原创 2017-09-24 09:42:07 · 3152 阅读 · 0 评论 -
Jenkins基础入门-14-Jenkins邮件通知设置
上一篇,介绍了一个构建监控的工具,其实这个工具,在一般实际工作中用处不大,甚至还不如一个邮件提醒的实在。所以,本篇,讨论Jenkins上邮件设置,通过设置了邮件地址和邮件发送服务器,我们构建后,就可以通过邮件得到构建结果。这个功能是很有必要的,试想一个这么场景,我需要Jenkins完成一个Job的构建,这个构建过程大概持续半小时到一个小时。那么我们是不是一直监控半小时到一个小时。其实没有必要,我们原创 2017-09-24 10:12:39 · 3552 阅读 · 1 评论 -
Jenkins基础入门-15-Jenkins中的Pipeline
继续来学习Jenkins的基本知识。本篇来介绍Pipeline,首先什么是Pipeline,如何你百度一下这个单词,会告诉你是管道的意思。那么Jenkins中为什么引入管道的概念呢。其实Pileline在Jenkins中是一种工具,一个插件,用来监控Job的构建过程。1.什么是Pipeline我们已经知道对应的中文是管道的意思,例如下面这个图,就是一个管道,管道有入口和出口。原创 2017-10-12 21:30:42 · 7062 阅读 · 0 评论 -
Jenkins基础入门-16-添加Pipeline视图
前面一篇,我们介绍了什么是pipeline和如何安装pipeline插件。这篇,我们开始介绍pipeline的基本使用。第一个介绍的就是添加一个pipeline视图。说到视图(view),好像前我们也没有介绍view的概念,视图就是面板或者看板的意思。在jenkins安装后,如果有job,而且进行了构建,那么默认的视图就是一个dashboard,也是我们经常看见的晴雨表。1.默认的视图一般原创 2017-10-12 23:06:03 · 12766 阅读 · 5 评论 -
Jenkins基础入门-17-什么是Blue Ocean
本篇作为Jenkins基础入门的最后一篇,主要是来介绍什么是Blue Ocean?和Blue Ocean的基本使用。首先,什么是蓝海?我们听说蓝海战略,红海战略,基本上都是商业的词汇。其实,在Jenkins中Blue Ocean就是一个插件,而且就是一个皮肤插件。它是一个项目,用来研究下一代Jenkins的UI界面或者更好的用户体验。说白了,你就可以理解是一个换肤插件。1.在插件管理安装Blu原创 2017-10-16 22:50:10 · 14387 阅读 · 2 评论 -
Jenkins项目实战之-Android基于Gradle参数化打不同环境安装包(一)
本篇开始介绍Jenkins项目实际应用,那就是安卓打包。一般都是测试人员向安卓开发人员要测试包,安卓开发人员就在android studio上打包,然后通过聊天工具传给测试,测试拿到包后,启动app测试。我想,这个场景,在很多公司存在。我们公司,打包任务就测试自己打,开发一般不打包,我也帮app组测试人员打过一段时间的不同测试环境的安装包。最近,项目间歇期,没什么任务,领导要求我,去研究一下app原创 2017-10-17 21:54:24 · 10497 阅读 · 9 评论 -
Jenkins项目实战之-Android基于Gradle参数化打不同环境安装包(二)
前面一篇,我介绍了如何实现打包,但是有一个问题,就是无法根据实际需要打不同环境的包。很多公司至少有测试环境包和线上环境包这两种。到底如何来控制打不同环境包,每个公司基本上都是控制修改配置文件的对应网站的URL来实现。很有可能,除了一个URL不一样,其他的代码都保持一样。先来看看我们公司安卓开发是如何写这个环境控制的代码到build.gradle文件。1.下面这图是在jenkins的worksp原创 2017-10-18 21:59:22 · 5166 阅读 · 4 评论 -
Jenkins项目实战之-xcode+jenkins自动化打iOS包
前面两篇文章详细介绍了如何在Jenkins上实现了android打包,这篇继续折腾,介绍如何基于xcode插件在jenkins上打包。由于前面介绍详细,所以,本篇,不是重点地方,就不贴图显示。这次研究iOS打包的时间比android还要多一天,看了很多别人介绍的xcode的jenkins打包,跟着别人做了一半,发现不适合自己情况,或者没法继续走下去。因为你出现的报错,人家在博客里没有出现。反反复复原创 2017-10-20 22:56:10 · 5670 阅读 · 0 评论 -
Jenkins项目实战之-MacOS High Sierra自动化打包方案的填坑之旅
前面我介绍了如何在android和iOS实现公司内部app的自动化打包构建的过程。这里写一个关于这个app自动化打包平台从想法到实践再到放机房平稳运行的一个回忆录。总的来说,在jenkins上实现android打包比较顺序,一直没有什么大问题;iOS上实现自动化打包就填了很多坑,查找了很多资料,失败了很多次,看过很多构建失败的日志,回过头来,mac上实现iOS自动打包就一个填坑之旅。下面主要是一些原创 2017-11-23 15:10:53 · 3328 阅读 · 0 评论 -
Jenkins项目实战之-钉钉提醒插件二次开发举例
本篇我们来讨论下关于jenkins社区中钉钉提醒这个插件的二次开发过程。为什么需要二次开发呢,很简单,这个插件只是提供了最基本的构建后的提醒,有时候,我们需要一些额外的功能。例如,我们在打完app的包后,利用这个插件是可以发送提醒,但是点击标题,这个插件默认跳转的是jenkins上当前构建号的页面。我的实际工作中,有一个需求,用户在钉钉群,点击这个成功打包提醒,希望跳转到一个下载包的页面。点击失败原创 2017-11-25 22:43:02 · 17137 阅读 · 10 评论 -
Jenkins项目实战之-钉钉提醒插件二次开发举例2-添加消息内容
前面一篇,我已经介绍了如何在钉钉提醒这个开源插件的一次比较少的代码改动,实现了我们自定义打包后下载的url跳转功能。今天,我们来再次做一个自定义二次开发,主要的需求就是,在钉钉提醒中,加入一个打包环境的字段显示。文字描述不清楚,没有关系,我们来看看需求前后的图片对比就应该很明白。1.具体需求需求前的效果需求后的效果其中 pre-online这个地方是一个变量的值原创 2017-12-12 11:42:44 · 6292 阅读 · 3 评论 -
DevOps基础-1.1-什么是DevOps以及概述
本人当前的工作范围主要的就是DevOps,更具体一点就是写Jenkins Pipeline 脚本。我最近慢慢学习一个DevOps基础的视频教程,这个教程是Lynda.com,纯英文的。打算写一个笔记,应该来说是翻译这个课程。任何新奇的事物,我们接触它们都是通过学习表面的理论知识来达到初步的了解和掌握。 我也不知道,我能不能坚持看完这个视频教程,然后坚持翻译完每一个小视...原创 2018-07-23 06:10:39 · 37623 阅读 · 9 评论 -
DevOps基础-1.2-DevOps的CAMS价值体系
CAMS模型是由两位DevOps先驱(John 和Damon Edwards )提出来的。CAMS代表Culture, Automation, Measurement, Sharing四个单词的首字母缩写。CAMS已经成为许多DevOps从业者的价值参考模型。Patrick DeBois,DevOps这个词就是他创造的,所以,他经常被成为DevOps之父,但他喜欢说DevOps是一个人...原创 2018-07-23 06:15:20 · 5155 阅读 · 0 评论 -
DevOps基础-1.3-DevOps的原则:三大方法
我们继续学习DevOps课程,这篇我们来讨论下原则,这些原则能够指导你如何获取核心DevOps的价值和在实际工作中实现DevOps。最受遵循的原理是:The Three Ways。这个模型是由Gene Kim和Mike Orzen提出来的,Gene Kim是"Visible Ops" and "The Phoenix Project"的作者,Mike Orzen是"Lean IT"的作者。他们提...原创 2018-07-23 14:10:34 · 6706 阅读 · 1 评论 -
DevOps基础-1.4-DevOps的十大实践
个人和组织发现了许多帮助它们实施DevOps的实践,但是其中并没有一个特别好的实践去做DevOps,这里提供10个在许多企业使用过的实践,给你参考和思考。 实践10:事故指挥系统在IT领域,不好的事情发生在我们服务里,我们把这种事情叫做事故。许多学校的旧的事故管理流程似乎只能适用于大规模的事故。但是在现实生活中,会出现许多小事故,大事故还是比较少。我在会议上看到的最喜欢的演讲之一是...原创 2018-07-30 16:14:03 · 3209 阅读 · 0 评论 -
DevOps基础-1.5-DevOps工具概述
我们都喜欢工具,这个是正确的。工具能让我们编程,构建,测试,打包,版本发布,配置,监控我们的系统和服务。随着DevOps兴起,免费,开源,和商业的工具呈现大爆炸式的出现。这些新工具中的许多功能,特别是在服务周期方面的功能,带来了惊人的效果和效率。我们经常参考DevOps工具链,没有任何一种工具可以满足你的所有要求。您想要的是一系列工具,可以组成工具链来满足您的需求。但是,你想要这些工具集成...原创 2018-08-06 22:12:58 · 4459 阅读 · 0 评论 -
DevOps基础-2.1-IT组织面临的风暴
本篇开始学习DevOps基础的第二张,第一章4篇文章介绍了什么DevOps的概述。可以肯定的是,你对DevOps依然没有一个明确的概念定义,但是有一些懵懂的概念。从顶层思想上对DevOps有了一个理解。就好像,即使你学习完了本系列的所有DevOps基础课程,你依然不是一个DevOps从业人员,因为你没有实战过。我敢肯定,一般而言,IT部门并不是业务中最受欢迎的部分。 几十年来,企业一直在使用技...原创 2018-08-06 23:02:11 · 1329 阅读 · 0 评论 -
DevOps基础-2.2-事故事后处理文化
我们谈论沟通的重要性,但有时这似乎是一个模糊的话题,并不受到重视。 因此,在本节中,我们将深入探讨与DevOps相关的两个非常具体的沟通关键方面:1没有指责的事后会议,2 服务时间透明化。 现在处理这两项活动需要比平常更好的沟通技巧,因为它们经常不经意时发生。在客户受到重大停电影响后的24小时或48小时内,我们应该进行事后处理,快速解决问题,这有助于保持与客户的合作关系稳定。 ...原创 2018-08-09 15:47:28 · 1037 阅读 · 0 评论 -
DevOps基础-2.3-做别人
协作是Dev和Ops之间运转的润滑剂。我们谈论文化和分享,但是你如何让这个变成现实。如何建立信任和尊重,消除责任和敌意,让人们感到安全,共同努力,抓住机遇进行创新。首先,不是所有人都有良好的社交技巧,有些内向的人就在与人相处过程是一个不小的挑战。(原作者)在我们早些年的职业经历中,我个人从一个内心,很痛苦的青年转变成了一个好战的工程师。然后逐渐意识到,这些技能的重要性,并且为此做出了一些改...原创 2018-08-10 09:44:50 · 909 阅读 · 0 评论 -
DevOps基础-2.4-把事情抛出流程墙(管理艺术)
虽然我多年来一直是一名工程师,但我作为经理的时间也占职业生涯一半以上,我想把这个视角带到这个教程中。作为领导者,在迁移到DevOps期间应该考虑如何改变。如果只需重命名现有团队DevOps或创建一个名为DevOps的新团队,就无法实现这些目标。如果这就是你所做的一切,那么当没有任何效果改善时不要感到惊讶。你需要真正的改变,变革总是很艰难。帮助你的团队完成过渡到DevOps是你成功的关键。...原创 2018-08-12 23:17:04 · 906 阅读 · 0 评论 -
DevOps基础-2.5-持续改善
在DevOps中,我们喜欢日语单词。主要是因为精益在日本得到了如此强烈的采用,我们从他们那里得到了大量的借鉴。像andencord和kaizen。 Kaizen是一个受欢迎的开发者文化实践。Kaizen字面意思是变得更好。我们可能会将其粗略地翻译为持续改进。 Kaizen是丰田汽车生产系统著名的精益模型的重要组成部分。Kaizen日本单词是“改禅”,中文的意思就改善。我们知道禅道这个bug国产...原创 2018-08-19 23:03:13 · 1025 阅读 · 0 评论 -
DevOps基础-3.1-DevOps组件:敏捷
开始介绍第三章内容,第三章主要讲DevOps的几个组件或者叫概念。在本章中,我们想与你讨论与DevOps相关的一些主要概念:敏捷,精益和itope。本小节与Agile相关,与DevOps相关。 Patrick Dubois和Andrew Clayshafer参加了多伦多的Agile 2008大会。在会议上,Andrew提出了一个关于敏捷基础设施的会议。Patrick是唯一到场出席的。他们...原创 2018-08-19 23:50:37 · 2470 阅读 · 0 评论 -
DevOps基础-3.2-DevOps组件:精益
欢迎回来。在这小节中,我们将讨论DevOps的第二个组件,Lean(精益)。 精益是一种消除浪费的系统化过程,最初是由W. Edwards Deming和Taiichi Ohno的丰田生产系统在制造业中设计的。它在第二次世界大战后彻底改变了日本的工业经济,后来又回到了美国玛丽和汤姆普兰佩德克的2003年出版的书《精益软件开发:敏捷工具套件》,书中提到,将精益技术应用到软件开发活动上。 ...原创 2018-08-26 23:03:22 · 1472 阅读 · 0 评论 -
DevOps基础-3.3-DevOps组件:ITIL /ITSM/ SDLC
这篇是我们关于DevOps组件章节的最后一节。这一次,我想谈谈ITIL(Information Technology Infrastructure Library)和IT服务管理。 DevOps站在巨人的肩膀上,有很多来自各种ITSM(IT service management),SDLC(Software Development Life Cycle)框架和成熟度模型的概念值得学习...原创 2018-08-29 11:06:42 · 2045 阅读 · 0 评论 -
DevOps基础-4.1-基础架构自动化:基础设施即代码
这篇开始学习第四章,第四章主要阐述基础架构自动化这个话题。 在IT系统管理领域,自动化技术并不是新的,但DevOps提升到了完全不同的自动化水平。我们将此称为基础设施即代码。 这是一种完全编程的基础架构方法,使我们能够利用我们系统的开发实践。 分裂Dev和Ops驱动器的一个影响是,一个团队的最佳实践确实没有传递到另一个团队。是的,一个简单的例子是使用源代码控制。 一...原创 2018-08-29 13:56:56 · 4033 阅读 · 0 评论 -
DevOps基础-4.2-基础架构自动化:Golden Image to Foil Ball
基础设施自动化的核心和最好的工具区域是配置管理。有许多方法可用于构建系统,维护和升级其配置以及将应用程序部署。可能令人困惑,因为许多工具可用于以 不同方式执行多个功能。有时这是一个好主意,有时它不是。 因此,让我们从常见CM(Configure Mangerment)术语的一些定义开始,然后检查技术。首先,配置。是使服务器准备好运行的过程。包括硬件,操作系统,系统服务...原创 2018-09-07 15:29:13 · 2381 阅读 · 0 评论 -
DevOps基础-4.4-基础架构自动化:基础架构领域的工具链
在这篇文章,我们将介绍基础设施代码的工具链。作为代码工具的许多基础设施取决于您使用的是什么类型的后端,无论是您自己的数据中心中的裸机,还是像AWS这样的服务的云基础架构。或其他东西,如平台即服务,或使用基于容器的方法。许多人正在使用他们的工作负载迁移到云端。在亚马逊的云中,他们的云形成模板允许您以JSON格式指定基础架构的实例,网络,负载平衡器甚至安全设置。 PS:...原创 2018-09-09 21:18:57 · 1119 阅读 · 0 评论