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协议的一个免费软件,由服 ...
随机推荐
- 前端三件套系例之JS——JS的BOM操作、JS的DOM操作
文章目录 1 JS的BOM操作 1.介绍 2.window对象 2-1 代码 3.window的子对象 3-1 navigator对象(了解即可) 3-2 screen对象(了解即可) 3-3 his ...
- 分布式事务:XA和Seata的XA模式
上一篇内容<从2PC和容错共识算法讨论zookeeper中的Create请求>介绍了保证分布式事务提交的两阶段提交协议,而XA是针对两阶段提交提出的接口实现标准,本文则对XA进行介绍. 1 ...
- How to Install Python on Linux
Summary Hostmonster uses the preinstalled version of Python that ships with CentOS. Because of this ...
- [CISCN 2019华东南]Web11
看到下面connection 里面的内容有一点像抓包出来的 就抓包试试 似乎感觉也没有什么用 看到这个东西,那么就想到改IP 添加X-Forwarded-For:127.0.0.1 发现这个IP随着我 ...
- 什么???CSS也能原子化!
1.什么是原子化 CSS? Atomic CSS is the approach to CSS architecture that favors small, single-purpose class ...
- C#怎样链接mysql数据库
C#一般链接sqlserver数据库,当然也会链接oracle.C#和MYSQL搭配貌似不多见哦 下面说说方法. 1.下载链接库文件,MySql.Data.dll MySql.Data.rar 2.工 ...
- Ubuntu上解决快捷键与idea快捷键冲突
Ubuntu上解决快捷键与idea快捷键冲突 一.ubuntu 本身系统导致,需要修改 ubuntu 快捷键 解决方案: 设置 按钮→系统设置→硬件选项区域中的"键盘"→切换到&q ...
- Linux 回收站
聊一聊执行 rm -rf 数据恢复以及建立 Linux 回收站 误删除 rm -rf 如果在Linux 平台下,执行 rm -rf 误删除文件,我们可以做哪些数据恢复的工作以及我们该如何应对不小心删除 ...
- Leetcode.402单调栈
给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小.请你以字符串形式返回这个最小的数字. 示例 1 : 输入:num = "143221 ...
- 2D物理引擎 Box2D for javascript Games 第七章 子弹和感应器
2D物理引擎 Box2D for javascript Games 第七章 子弹和感应器 你知道 Box2D 可以在每一个时间步中管理刚体间的碰撞并决算它们. 总之,在愤怒的小鸟中制作攻城机器期间,发 ...