Jenkins-简介/安装!

devtools/2025/1/17 20:21:53/

一. 关于持续集成:

      持续集成(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/devtools/151350.html

相关文章

【Flink系列】4. Flink运行时架构

4. Flink运行时架构 4.1 系统架构 Flink运行时架构——Standalone会话模式为例 1)作业管理器(JobManager) JobManager是一个Flink集群中任务管理和调度的核心,是控制应用执行的主进程。也就是说,每个应用都应该被…

【Uniapp-Vue3】pages设置页面路径及窗口表现

在pages.json中可以看到创建的页面的信息: 数组中的每一个对象就是一个页面的信息,每个页面的信息设置可以在style中设置,常用的样式设置:

计算机视觉算法实战——实时车辆检测和分类(主页有相关源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​​​​​​​​​​​​​​​​ 1. 领域介绍✨✨ 实时车辆检测和分类是计算机视觉中的一个重要应用领域,旨在从视频流或…

思科—网络安全笔记

漏洞 漏洞的分类 软件漏洞 硬件漏洞 1.缓冲器溢出:软件写数据的时候,超出数据区的边界 范围,导致访问到其他软件的内存数据,可能产生的后果有:系统崩溃,权限提升,数据受损等。 2.未验证输入&…

docker hello world

引言 Docker是一个容器化平台,能够把应用程序及其依赖打包在一个容器中,让容器在任意地方运行。最近刚了解了Docker,自己动手操作了下,做个记录,也希望可以帮助到刚学习Docker的小伙伴。 本文中已使用管理员模式&…

30分钟内搭建一个全能轻量级springboot 3.4 + 脚手架 <3>5分钟集成好druid并使用druid自带监控工具监控sql请求

快速导航 <1> 5分钟快速创建一个springboot web项目 <2> 5分钟集成好最新版本的开源swagger ui&#xff0c;并使用ui操作调用接口 <3> 5分钟集成好druid并使用druid自带监控工具监控sql请求 <4> 5分钟集成好mybatisplus并使用mybatisplus generator自…

【Python】-- 趣味代码 - 发牌游戏

文章目录 文章目录 01 发牌游戏设计框架定义`Card`类定义`Hand`类定义`Poke`类(继承自`Hand`类)主程序02 发牌游戏程序代码01 发牌游戏设计框架 这段代码是一个简单的发牌游戏程序,使用面向对象的方式实现了扑克牌的发牌过程。以下是各部分的介绍: 定义Card类 属性: ra…

使用vue3实现语音交互的前端页面

代码地址&#xff1a;https://github.com/ZZD3627/my-third-vue.git 需求 1.前端实现录音并将音频传到通过http请求将音频传递到后端 2.基于后端识别的语音及后端返回的内容进行语音沟通实现 1.使用MediaRecorder在前端使用录音功能 2.使用SpeechSynthesis实现将后端传来的文…