Jenkins-简介/安装!

server/2025/1/16 11:33:08/

一. 关于持续集成:

      持续集成(CI ) [ Continuous Integration ],通俗来讲,就是一个能监控版本控制系统变化的工具,可以自动编译和测试集成的应用程序。出现问题,能够及时的通知相应人员。持续集成是一种思维工具集,想要充分利用好持续集成,必须要先进入持续集成的思维方式中(比如:我们的项目必须有一个可靠的,可重复的,自动化(不涉及人工干预)的构建过程)。持续集成内容如下:

1. 密切监视代码库的健康,代码质量。
2. 降低技术债务和减少维护成本。
3. 清晰发布和展现总体开发工作的当前状态。
4. 自动化部署,发布,测试,简化和加速交付过程。

从一个从无到有的环境中,引入持续集成,大致有以下阶段:

阶段一: 需要开发人员手动集成代码改动,靠开发或运维人员收到触发构建。
阶段二: 简单的脚本构建,没有可靠的或重复性的单元测试,通常放在业务低峰期(夜晚)上线。
阶段三: 代码更新,自动触发构建,将结果邮件等途径发送给相关人员(包括回滚)。
阶段四: 加入度量指标。自动化的代码质量和代码覆盖率检查,评估代码库的质量和测试的相关性及有效性。对测试质量的下降提出报警。
阶段五: 自动化测试验证(接入全面的端到端测试和性能测试)。
阶段六: 自动化验收测试和自动化部署。
阶段七: 持续部署。

  持续集成服务器的可信度好坏在很大程度上取决于测试质量,所以我们需要设计强健的,高质量的测试和测试实践。本文中的jenkins就是以"一个健壮的和全面的持续集成解决方案"为目标的服务。

二.  为什么选择Jenkins:

为什么选择采用jenkins来作为我们的持续集成方案工具? :

易用性:简单的部署方式,平滑的学习曲线,直观的用户界面。
扩展性:灵活的扩展,大量的开源插件(覆盖系统版本控制,构建工具,代码质量,构建通知,外部系统集成,界面定制化等)。
高社区活跃度:有规模的,响应的,开放太的讨论社区。

三. Jenkins简介:

     jenkins是一个用java编写的开源持续集成工具。可以适用于各种语言和技术环境。jenkins与2004年开发。之前叫Hudson,09年被oracle收购,后开发社区与oracle关系破裂,将hudson的代码迁移为一个新的项目,命名jenkins

四. 安装部署:

 jenkins的部署是相当简单的,支持直接war包启动和以tomcat的容器运行,也支持docker方式。

依赖环境:

       java:  1.8.0 (安装略)

       jenkins2.493


方式一: 直接war包启动

$ wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
$ java -jar jenkins.war --help  (查看启动帮助)
$ java -jar jenkins.war  (可通过--httpPort=9090指定相应端口,默认8080)
..............
生成一段密码,用于初始化:
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:0d39418e4e9d4bd4b7f4436071052ec3This may also be found at: /home/xiaoxiang/.jenkins/secrets/initialAdminPassword
.......................................

打开对应的url : http://192.168.2.40:9090

出现以下界面,输入初始化密码:

 安装插件。。

安装完成如下:

方法二:通过tomcat 容器启动:

    安装tomcat后, 将jenkins.war包放在tomcat程序下webapps中即可。

备份:

      备份主目录即可:  /home/jenkinsname/.jenkins

 


http://www.ppmy.cn/server/158810.html

相关文章

TypeScript 爬虫项目实战:抓取豆瓣电影 Top 250(TypeScript简单应用)

项目介绍 通过 TypeScript 实现一个简单的爬虫程序,从豆瓣电影 Top 250 页面抓取电影的标题和评论信息,并将数据存储到本地 JSON 文件中。该项目使用了 superagent 和 cheerio 两个核心工具: superagent:一个轻量的 HTTP 请求库…

想法分享,利用html通过求输入框中用户输入数组的最大值

我有一个非常有趣的想法 做一个网页求用户输入的数组的最大值 1.直接让用户输入进一个类似数组的容器,输入几个数字之后,点击按钮 2.这个方法不行,因为form表单没有直接类似数组的容器,所以用input输入框代替 3.Input直接输入的是…

Unity3D实现加载.abc动画模型

系列文章目录 unity工具 文章目录 系列文章目录unity工具👉前言👉一、效果展示👉二、使用步骤👉2-1、导入插件👉2-1、导入模型👉三、实现代码控制动画👉四、加载解析👉4-1、数据读取与解析👉4-2、动画播放机制👉4-3、材质👉壁纸分享👉总结👉前言 .…

《C++11》并发库:简介与应用

在C11之前,C并没有提供原生的并发支持。开发者通常需要依赖于操作系统的API(如Windows的CreateThread或POSIX的pthread_create)或者第三方库(如Boost.Thread)来创建和管理线程。这些方式存在以下几个问题: …

关于反向传播算法个人的一些思考

关于反向传播算法个人的一些思考 非常简单的一个例子让情况变得复杂一些未完待续 本文为笔者个人对反向传播算法的一个理解,由于笔者也是刚刚踏上深度学习之路,所以很多地方可能理解的不到位,欢迎各位在评论处指出。 本文适合已经了解过反向传…

数组元素的删除

题目描述 把一个数组的第x个位置的元素删除掉 输入 有三行 第一行有一个整数n( n < 10 ) 第二行有n个整数 第三行有一个整数x&#xff0c;为要删除的位置 输出 输出更新后的数组 样例输入 复制 5 1 2 3 4 5 3 样例输出 复制 1 2 4 5 思路&#xff1a;偷个懒&…

Springboot + vue 小区物业管理系统

&#x1f942;(❁◡❁)您的点赞&#x1f44d;➕评论&#x1f4dd;➕收藏⭐是作者创作的最大动力&#x1f91e; &#x1f496;&#x1f4d5;&#x1f389;&#x1f525; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 &#x1f525;&#x1f525;&…

基于微信小程序的农产品自主供销系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…