Jenkins-简介/安装!

一. 关于持续集成:

持续集成(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 (安装略)

jenkins: 2.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:

0d39418e4e9d4bd4b7f4436071052ec3

This 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

相关推荐
桌面运维家32 分钟前
DHCP监控:IP冲突诊断与网络稳定运维实战
运维·网络·tcp/ip
石头猫灯1 小时前
DNS 服务器配置实验
运维·服务器
认真的薛薛1 小时前
Docker网络模式
linux·运维·数据库·面试·github
民乐团扒谱机2 小时前
【读论文】Frequency Comb Based Optical Time Transfer基于光频梳的光时间传递
运维·服务器
UP_Continue2 小时前
Linux--日志的模拟实现
linux·运维·服务器
YMWM_2 小时前
docker在jetson thor的应用
运维·docker·容器·jetson thor
lwx9148522 小时前
Linux-sftp命令详解
linux·运维·服务器
舒一笑2 小时前
客户现场没有外网,Docker 服务怎么部署?
运维·后端·自动化运维
奥升新能源平台2 小时前
奥升充电最小化高可用机房部署方案
运维·安全·开源·能源·springcloud
珠海西格2 小时前
四可装置如何监测组件衰减与逆变器效率?
大数据·运维·服务器·分布式·能源