Jenkins简介及安装配置详解:开启持续集成之旅
Jenkins简介及安装配置详解:开启持续集成之旅
一、Jenkins介绍
Jenkins是一个开源的、用Java编写的持续集成和持续交付(CI/CD)工具。它提供了一种简单易用的方式来自动化构建、测试和部署软件。Jenkins的主要目标是帮助开发团队加快软件开发过程,提高软件质量,并通过自动化流程减少手动操作和重复性工作。
Jenkins具有以下特点和优势:
- 持续集成:Jenkins支持通过持续集成管道(Pipeline)来自动化构建、测试和部署。它能够检测代码的变更,并触发相应的构建和测试过程,确保及时地发现和解决问题。
- 插件生态系统:Jenkins拥有丰富的插件生态系统,可以扩展各种功能和集成其他工具。无论是构建工具、版本控制系统、测试框架还是部署平台,都可以通过插件进行集成,满足不同项目的需求。
- 可扩展性:Jenkins具有良好的可扩展性,可以根据项目的需求进行定制和配置。它支持并行化构建和分布式构建,可以在多个节点上执行任务,提高构建的效率和并发能力。
- 多平台支持:Jenkins可以运行在各种操作系统上,包括Windows、Linux和Mac OS等。它也可以与各种开发工具和平台无缝集成,适用于不同的开发环境。
- 可视化界面:Jenkins提供了直观的用户界面,方便用户进行配置、监控和管理。用户可以通过Web界面轻松地创建和管理任务,查看构建结果和日志等信息
1.1 持续集成
持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。 持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干 之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
1.2 Jenkins持续集成的过程(传统方式与自动化部署)
传统部署:

自动化部署:
搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。对于程序员的日常开发来说不会造成任何额外负担——自己把代码提交上去之后,服务器上运行的马上就是最新版本,一切都发生在无形中。

二、环境搭建
1、准备工作
服务器准备:
需要准备三台服务器,分别是:
- SVN代码托管服务器
- Jenkins服务器
- WEB发布服务器(Tomcat)
下面是我演示用的三台服务器的IP:
Jenkins-->110.43.204.225
SVN-->43.143.195.160
WEB-->182.92.209.212
- 1
- 2
- 3
- 4
- 5
需要用到的软件
本文基于jdk1.8进行构建:
Jenkins(2.346.1)、JDK、Maven、Tomcat、SVN
- 1
软件打包到以下地址了:
链接:https://pan.baidu.com/s/1CD7IXZ_E-RNTsXEl6L7SRw?pwd=8mz8
软件的安装
软件的安装:在哪台服务器装什么软件就不演示了,到时会说明需要装什么,按照下面教程进行安装即可:
JDK:https://blog.csdn.net/qq_54796785/article/details/125206684
Maven:https://blog.csdn.net/qq_54796785/article/details/125846934
SVN:可网上参考
Tomcat:可网上参考
2、WEB发布服务器环境搭建
需要安装:JDK和Tomcat
还需要配置Tomcat用户,是为了后面通过Jenkins发布war包到此服务器Tomcat上面进行部署。
在$TOMCAT_HOME/conf/tomcat-users.xml,最下面添加以下内容:表示新建一个用户tomcat,密码123456
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-status"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="admin-script"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="123456" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
如何测试新建的用户?

这时候大概率是出现了403,需要在$TOMCAT_HOME//webapps/manager/META-INF/context.xml,注释以下代码即可

3、SVN服务器环境搭建
直接看上面的安装教程即可,不需要其他环境
4、Jenkins环境搭建
前置条件,需要安装:JDK、Maven、Tomcat
然后修改下tomcat端口为80(非必须),再将jenkins.war包放在tomcat的webapps目录下,最后启动tomcat
访问以下地址:http://110.43.204.225/jenkins/
并复制秘钥到下面: cat /root/.jenkins/secrets/initialAdminPassword


然后就是耐心等待插件的安装:

这边我就创建一个账户:admin 123456

设置国内镜像源
进入 Manage Jenkins -> Manage Plugin -> Advanced 最下面有 Update Site,设置为: http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
然后重启Jenkins:ip+端口/jenkins/restart
安装所需插件:选择插件,然后点击Install without restart安装即可
附插件市场地址:https://plugins.jenkins.io/
中文语言包:Locale(180.v207501dff9b_a_)
SVN插件:Subversion(2.16.0)
部署web应用:Deploy to container(1.16)
Maven插件:Maven IntegrationVersion(3.20)
SSH上传插件:Publish Over SSH(1.24)
- 1
- 2
- 3
- 4
- 5
解决安装完成中文语言包,部分中文的问题:
1、安装插件(locale、Localization);
2、在System Configuration--Configure System下,找到Locale输入Default Language为en_US并勾选“Ignore browser preference and force this language to all users“
3、restart重启Jenkins:http://域名/restart;
4、再次语言设定为zh_CN,Jenkins切换为中文。
- 1
- 2
- 3
- 4

设置本机的JDK、Maven地址
Jenkins简介及安装配置详解:开启持续集成之旅的更多相关文章
- ubuntu14.04 server ftp 服务安装配置详解
ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...
- Eclipse IDE for C/C++ Developers安装配置详解
Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...
- Cloudera CDH 、Impala本地通过Parcel安装配置详解及什么是Parcel
本文引用自:Cloudera CDH .Impala本地通过Parcel安装配置详解及什么是Parcelhttp://www.aboutyun.com/forum.php?mod=viewthread ...
- lvs keepalived 安装配置详解【转】
lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...
- JDK10安装配置详解
JDK10安装配置详解 1. 下载jdk10 1.1 官网下载jdk7的软件包: 地址:http://www.oracle.com/technetwork/java/javase/dow ...
- (转)python中调用R语言通过rpy2 进行交互安装配置详解
python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753 python中调用R语言通过r ...
- (转)使用LVS实现负载均衡原理及安装配置详解
使用LVS实现负载均衡原理及安装配置详解 原文:https://www.cnblogs.com/liwei0526vip/p/6370103.html
- redis cluster 集群 安装 配置 详解
redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...
- hapRroxy 安装配置详解
简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...
- samba 4.7.16 安装配置详解
系统:Centos 7.4 x64位 服务版本:samba-4.7.1.samba-client-4.7 Samba 简介 Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服 ...
随机推荐
- RedisStack部署/持久化/安全/与C#项目集成
前言 Redis可好用了,速度快,支持的数据类型又多,最主要的是现在可以用来向量搜索了. 本文记录一下官方提供的 redis-stack 部署和配置过程. 关于 redis-stack redis-s ...
- frida动态插桩初探
前言 近期碰到了分析app的需求,就学习了一下 frida的动态插桩技术.frida是一款轻量级HOOK框架,可用于多平台上,例如android.windows.ios等.frida分为两部分,服务端 ...
- 一次考试的dp题
很明显是dp 看题目的时候我们先进行初步的思考,发现一个性质 一个点时不可能被重复覆盖三次的很显然,如果一个点被覆盖了3次,这3个覆盖他的区间一定是有一个区间被完全包含的,因为有贡献的左右端点只有两个 ...
- js数据结构--散列表
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- 新手面对安卓6.0以上的版本时出现一个关于文件权限检测的问题,报错为:“无法解析符号 'checkSelfPermission'”,解决办法
[[注意]:这只是笔者在遇到这个问题时的解决方法,如果对您毫无帮助,请自寻他法!!!] 面对新手:在简单做一个音乐播放程序时,如果面对安卓6.0以上的版本,就会出现一个关于文件权限检测的问题,报错为: ...
- keycloak~为keycloak-services项目添加第三方模块(首创)
我们在对keycloak框架中的核心项目keycloak-services进行二次开发过程中,发现了一个问题,当时有这种需求,在keycloak-services中需要使用infinispan缓存,我 ...
- 实时计算Flink+实时数仓Hologres
阿里云培训:https://developer.aliyun.com/learning/course/807/detail/13885?accounttraceid=d2070f0a9edb471c9 ...
- linux 使用crontab 创建定时任务
转载请注明出处: 在服务器中需要创建一个定时任务,每天执行去清理很早之前备份的文件,所以想到在linux上创建一个shell脚本,通过linux的 crontab 命令定时去执行该shell脚本,从而 ...
- c#中命令模式详解
基本介绍: 命令模式,顾名思义就是将命令抽象化,然后将请求者和接收者通过命令进行绑定. 而命令的请求者只管下达命令,命令的接收者只管执行命令. 从而实现了解耦,请求者和接受者二者相对独立. ...
- DP:摆动序列
问题描述 如果一个序列满足下面的性质,我们就将它称为摆动序列: 1. 序列中的所有数都是不大于k的正整数: 2. 序列中至少有两个数. 3. 序列中的数两两不相等: 4. 如果第i – 1个数比第i ...