Jenkins 入门介绍
一、概念
近几年,DevOps理念一致处于一个比较热门的状态。我每个月在工作群或者技术交流群都会看到这个名词出现。前年,当我第一次看到这个“DevOps“,我压根不知道这是一个什么样的东西。但是我知道,这个东西一定很重要。后面慢慢查阅资料、与其他技术人员交流,我才知道:
DevOps(Development和Operations的组合)是一组过程、方法与系统的统称。它用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。其出现是由于软件行业日益清晰地认识到为了按时交付软件产品和服务,开发和运营工作必须紧密合作的问题。
总而言之,就是“开发运维一体化”,把涉及的所有上下游打通,使其紧密协作。而Jenkins就是Devops里的一个技术工具。通过这个工具,可以实现持续集成、持续交付、持续部署。
持续集成:CI(Continuous Integration)持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
持续交付:CD(Continuous Delivery)通常是指开发人员对应用的更改会自动进行错误测试并上传到存储库(如 GitHub 或容器注册表),然后由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此,持续交付的目的就是确保尽可能减少部署新代码时所需的工作量。
持续部署:CD(Continuous Deploy)指的是自动将开发人员的更改从存储库发布到生产环境,以供客户使用。它主要为了解决因手动流程降低应用交付速度,从而使运维团队超负荷的问题。持续部署以持续交付的优势为根基,实现了管道后续阶段的自动化。
常说的CI/CD,就是指以上的一个CI和两个CD,这也是DevOps的一个核心。
二、Jenkins起源
Jenkins,前身叫做Hudson。Hudson是在2004年的夏天由Sun公司(就是开发Java的那家)开发的,2005年2月开源并发布了第一个版本。
Hudson发布的时候,CruiseControl是CI界的老大哥,但是很快,在大约2007年的时候Hudson已经超越CruiseControl。2008年5月的JavaOne大会上,Hudson获得了开发解决方案类的Duke's Choice奖项。从此,小弟翻身做大哥,Hudson成为CI的代名词。
2009年6月,乌龟壳(Oracle)收购Sun,所有人都炸裂了。2010年9月,乌龟壳公司偷偷把Hudson变成了注册商标。2010年11月,Hudson社区的核心开发人员发现并angry了,双方进行了不太友好的会谈,不出意料的谈崩了。圣诞节过后,2011年的第一场雪,比以往来的要晚一些,几个秃顶的大叔在McDonald‘s的豪华包间里做了一个艰难的决定:mv -f hudson jenkins。
从此,Jenkins 诞生。
三、Jenkins 优缺点
Jenkins是一款使用Java语言开发的开源的自动化服务器。通常用于
1. 持续集成(CI)
2.1 持续交付(CD)
2.2 持续部署(CD)
优势:
1.开源免费
2.跨平台
3.支持分布式
4.操作界面可视化
5.丰富的插件支持
6.过程标准化
7.减少人工时间消耗
缺点:
1.系统资源占用大
2.需要专用服务器
3.配置/定制所需的时间
4.漏洞
5.效率
四、使用体验
作为了Jenkins的两年使用者,我觉得这个工具还是十分好用的。虽然时不时有些漏洞被发现,但是不影响项目的使用。下一篇随笔,继续介绍Jenkins的使用。
Jenkins 入门介绍的更多相关文章
- Jenkins入门系列之——02第二章 Jenkins安装与配置
2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...
- Jenkins入门【转】
一.Jenkins概述 二.安装Jenkins https://pkg.jenkins.io/redhat-stable/ sudo wget -O /etc/yum.repos.d/jenkins. ...
- Jenkins 入门系列--Jenkins 的安装配置
写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之--03PDF文档下载 第二章 Jenkins安装与配置 2 Jenkins安装 在最简单的情况下,J ...
- C# BackgroundWorker组件学习入门介绍
C# BackgroundWorker组件学习入门介绍 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能 ...
- [转载] Jenkins入门总结
转载自http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html 在网上貌似没有找到Jenkins的中文的太多的文档,有的都是关于Huds ...
- 初识Hadoop入门介绍
初识hadoop入门介绍 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. < ...
- Jenkins入门总结
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作 在网上貌似没有找到Jenkins的中文的太多的文 ...
- [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)
最近在使用Python爬取网页内容时,总是遇到JS临时加载.动态获取网页信息的困难.例如爬取CSDN下载资源评论.搜狐图片中的“原图”等,此时尝试学习Phantomjs和CasperJS来解决这个问题 ...
- [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍
前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...
随机推荐
- aws eks上部署 ingress-nginx 加NLB
转载自https://kubernetes.github.io/ingress-nginx/deploy/#aws In AWS we use a Network load balancer (NLB ...
- wordpress current_user_can 判断角色
current_user_can 使用说明: current_user_can( $capability, $args ); $capability参数是必须的,是指给予什么样的能力,或者说给他可以做 ...
- ThinkPHP5 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php
1.首先修改Apache的httpd.conf文件. 确认httpd.conf配置文件中加载了mod_rewrite.so 模块,加载的方法是去掉mod_rewrite.so前面的注释#号 讲http ...
- 1669 DINIC+二分
题意: 给你一些名单,和每个名单可以放在哪个分组里,现在要求你把所有的人都分到一个他属于的分组(之一),然后问你分组中最多的那个人数最少是多少... 思路: 二分最多的最少,然后 ...
- Linux下磁盘分区、卸载和磁盘配额
目录 一:查看磁盘信息 二:Linux磁盘分区 三:Linux分区的卸载 四:Linux磁盘配额 一:查看磁盘信息 fdisk : 这个命令是磁盘分区表操作工具,fdisk能将磁盘分区,同时也能为每个 ...
- DVWA之DOM XSS(DOM型跨站脚本攻击)
目录 Low Medium High Impossible Low 源代码: <?php # No protections, anything goes ?> 从源代码可以看出,这里low ...
- hdu5248序列变换(二分+贪心)基础题
题意(中文的直接粘题意吧) 序 ...
- Linux中使用gdb dump内存
在应急响应中,我们往往会有dump出某一块内存下来进行分析的必要.今天要讲的是利用gdb命令dump出sshd进程的内存. 按照 Linux 系统的设计哲学,内核只提供dump内存的机制,用户想要du ...
- Win64 驱动内核编程-26.强制结束进程
强制结束进程 依然已经走到驱动这一层了,那么通常结束掉一个进程不是什么难的事情.同时因为win64 位的各种保护,导致大家慢慢的已经不敢HOOK了,当然这指的是产品.作为学习和破解的话当然可以尝试各种 ...
- 14.PHP_PHP与XML技术
PHP与XML技术 先把概念粘过来: 先来个基本模板: <?xml version="1.0" encoding="gb2312" standalone= ...