Jenkins简介

这篇具有很好参考价值的文章主要介绍了Jenkins简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:环境概述:

 

      随着软件开发需求及复杂度的不断提高,团队开发成员之间如何更好地协同工作及确保软件开发的质量已经慢慢称为开发过程中不可回避的问题。Jenkins自动化部署可以解决集成、测试、部署等重复性的工作,工具集成的效率明显高于人工操作;并且持续集成可以更早的获取代码变更的信息,从而更早的进入测试阶段,更早的发现问题,这样解决问题的成本就会显著下降;持续集成缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间出现的等待时间;持续集成也意味着开发、集成、测试、部署得以持续。所以,当配置完Jenkins持续集成持续交付环境后,就可以把发布的任务交给集成服务器去打理了。使用Maven(Ant)等来实现Java项目自动化构建发布部署。这些工具可以帮助在构建过程中实现自动化发布、回滚等动作。

二:Jenkins简介

Jenkins简介

     Jenkins是一个用Java编写的开源的持续集成工具。在于Oracle发生争执后,项目从Hudson项目独立。官方网站:  Jenkins

    Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批量处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。

Jenkins能实时监控持续集成过程中所有存在的问题,提供详细的日志文件和提醒功能,还能用图表的形式,形象地展示项目构建的趋势和稳定性。

Jenkins包含以下几个特点:

  • 易安装:仅仅一个jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;
  • 易配置:提供友好的GUI配置界面;
  • 变更支持:Jenkins能从代码仓库(SVN/Git)中获取并产生代码更新列表,并输出到编辑输出信息中;
  • 支持永久连接:用户是通过Web来访问Jenkins的,而这些Web页面的连接地址都是永久连接地址,可以在各种文档中直接使用该连接;
  • 集成E-Mail/RSS/IM:当完成一次集成时,可以通过这些工具实时收集成结果(构建一次集成需要花费一定时间,有了这个功能,就可以在等待结果过程中,干点别的事情);
  • Junit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;
  • 支持分布式构建:Jenkins可以把集成构建等工作分发到多台计算机中完成;
  • 文件指纹信息:Jenkins会保存构建集成所产生的jars文件、集成构建使用了哪个版;
  • 支持第三方插件:Jenkins支持第三方插件,这使得Jenkins功能变得越来越大。

三:持续集成

1:持续集成的概述:

      持续集成(英语:Continuous integration,缩写为CI),一种软件工程流程,将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。

      这个名称最早由葛来迪·布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次。之后成为极限编程(extreme programming,缩写为XP)的一部分。在测试驱动开发(TDD)的做法中,通常还会搭配自动单元测试。

      持续集成的提出,主要是为了解决软件进行系统集成时面临的各项问题,极限编程称这些问题为集成地狱(integration hell)。

Jenkins简介

 (注:开发人员写好代码,然后将代码放入代码仓库里面,代码仓库可以是GitGitlabsvnCI服务器就是我们的Jenkins,他可以从我们的代码仓库里面拉去代码,拉去代码之后对代码进行build,也就是进行构建,构建完之后就进行测试,测试代码的一个可用状态,CI就是他部署,测试,反馈串起来。)

       持续集成主要是强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。简单来讲就是:频繁地(一天多次)将代码集成到主干。

2:持续集成的效益

  • 及早发现集成错误且由于修订的内容较小所以易于追踪,这可以节省项目的时间与成本。
  • 避免发布日期的前一分钟发生混乱,当每个人都会尝试为他们所造成的那一点点不兼容的版本做检查。
  • 当单元测试失败或发生错误,若开发人员需要在不除错的情况下还原代码库到一个没有问题的状态,只需要放弃一小部分的更改(因为集成的次数频繁)。
  • 让“最新”的程序可保持可用的状态供测试、展示或发布用。
  • 频繁的提交代码会促使开发人员创建模块化,低复杂性的代码。
  • 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

3:持续集成的作用

  • 保证团队开发人员提交代码的质量,减轻了软件发布时的压力;
  • 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量。

4:持续集成的特点

  • 是一个自动化的、周期性的集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预;
  • 需要有专门的集成服务器来执行集成构建;
  • 需要有代码托管工具支持;

四:持续交付

     持续交付(英语:Continuous delivery,缩写为CD),是一种软件工程手法,让软件产品的产生过程在一个短期内完成,以保证软件可以稳定、持续的保持在随时可以释出的状况。它的目标在于软件的建置、测试与释出变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。

Jenkins简介

(注:开发人员开发代码,提交代码,然后进行拉去代码,进行构建,测试,反馈,然后改代码,这都是在开发环境,看看代码是否在测试环境中正常运行,所以拉去到测试环境中,然后进行部署,这个部署偏向于手动。)

 持续交付是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的【类生产环境】(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。

 五:持续部署

      持续部署(英语:Continuous Deployment,缩写为CD),是持续交付的下一步,值的是代码通过评审以后,自动部署到生产环境。

     有时候,持续部署也与持续交付混淆。持续部署意味着所有的变更都会被自动部署到产生环境中。持续交付意味着所有的变更都可以被部署到产生环境中,但是出于业务考虑,可以选择不部署。如果要实施持续部署,必须先实施持续交付。

Jenkins简介

   持续部署即在持续交付的基础上,把部署到产生环境的过程自动化。

  关键字:CI/CD持续集成/持续交付/持续部署文章来源地址https://www.toymoban.com/news/detail-452907.html

到了这里,关于Jenkins简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HarmonyOS北向开发(软件开发方向)基于ArkTS 入门学习 (1) - 开发语言及环境配置

            建议快速阅读一遍,不要求记住。知道一个大概框架即可,方便以后查阅开发文档 开发语言 - ArkTS          HarmonyOS主要的开发语言                 未来版本的HarmonyOS的主要开发语言将会是ArkTS,在Devco Studio创建项目的时候,选择API 9 开发的情况下,只能使

    2024年01月21日
    浏览(52)
  • 软件的开发工具包(SDK)与集成开发环境(IDE)

    本文重点论述软件的开发工具包(SDK)与集成开发环境(IDE)的基本概念和作用。 通常情形下,无论是安装一个软件还是开发一个软件,实际上主要做两个事情:产生SDK(Software Development Kit,简称SDK,软件开发工具包)和IDE(Integrated Development Environment,简称IDE,集成开发环

    2024年02月16日
    浏览(58)
  • 软件测试/测试开发丨Selenium环境安装配置

    1、下载浏览器 目前比较常用的浏览器是 Google Chrome 浏览器,所以本教程以 chrome 为主,后面简介一下其他浏览器的环境配置。 chrome 下载: www.google.cn/chrome/ 2、chromedriver 环境配置 chromedriver 是chromedriver提供的浏览器驱动程序,他的作用是将代码的请求转发给浏览器。 (1)ch

    2024年02月03日
    浏览(89)
  • Xilinx Alveo加速卡Vitis软件开发环境搭建

    本文主要介绍FPGA的软件开发方式,区别于传统使用HDL语言的硬件开发。软件开发无需学习复杂的硬件知识,使用C++即可开发,开发周期也大幅缩短到天为单位。 2021年第一次接触FPGA加速卡和OpenCL,当时开发环境还不友好,装完环境就花了一个月,给我折磨的不要不要的。AMD收

    2024年02月15日
    浏览(65)
  • windows 下 搭建 ElasticSearch 环境,前端开发常用软件

    打开浏览器测试: http://localhost:9200 彻底关闭ES 第三步:将ElasticSearch安装为Windows服务 进入bin目录下执行命令: elasticsearch-service.bat install 在windows服务中查看 elasticsearch-service.bat后面还可以执行这些命令 install: 安装Elasticsearch服务 remove: 删除已安装的Elasticsearch服务(如果启动则

    2024年04月13日
    浏览(58)
  • Ubuntu22.04安装、配置、美化、软件安装、配置开发环境

    因为ubuntu的安装网上的教程特别多了,所以这里不做赘述,推荐使用小破站这个up主的教程:Windows 和 Ubuntu 双系统从安装到卸载_哔哩哔哩_bilibili (1)打开软件和更新 (2)在 “ 下载自 ” 中选择 “ 其他 ”  选中 中科大镜像源 (也可选择阿里源,清华源,这里以中科大源

    2024年02月01日
    浏览(54)
  • 【Linux环境基础开发工具】软件包管理器-yum

    今天我打算介绍如何在Linux环境下载软件, Linux作为一个操作系统,就像windows一样,当然是存在软件的。 目录 写在前面 怎么在Linux环境安装软件 源代码安装 rpm安装包安装 yum安装 如何理解Linux的生态 如何使用yum安装软件 如何更换yum源 总结: 写在最后: 一般来说,Linux下有

    2024年02月08日
    浏览(64)
  • win10系统切换到macOS,开发环境与软件资源,目录清单

    1、因为考研自习室或学校图书馆,随身携带游戏本(全能本)受限于 不插电源就不续航和掉性能,以及风扇噪音非常大,以及发热很烫 等问题。 2、所以想考虑给主力机换个mac,目前暂定是买啦 m1pro(10+16)+16g+1t 的版本,因为原来的电脑空间用了非常多,不得不删掉一些东西

    2024年02月15日
    浏览(49)
  • 【Linux】软件包管理器yum与环境开发工具vim

    【Linux】基础常见指令:http://t.csdn.cn/hwLPb 【Linux】基本权限:http://t.csdn.cn/faFZg 目录 前言 一、软件包管理器yum 1.什么是软件包?  2. yum的使用 (1)包文件查询 (2)安装        (3)卸载 二、Linux开发工具vim ​编辑 1. vim的基本概念  2.vim的基本操作 (1)进入vim (2)[正常

    2024年02月11日
    浏览(55)
  • keil5软件安装&开发环境搭建教程(mdk,c51通用)

    这是我在csdn上写的第一篇文章,心情激动兴奋。因为之前都是看别人写的博客,从来没想过自己去写一篇,在学长的鼓励下,尝试完成人生第一篇博客。仍有不足,希望大佬多多指正! 写这篇的目的是因为keil5的安装是许多人入门嵌入式的第一步,而且以后遇到许多不知名的

    2024年02月05日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包