Jenkins2.250持续集成部署

本文详细介绍Jenkins持续集成的原理及应用,包括传统与现代网站部署流程对比,Jenkins平台搭建步骤,以及自动化部署网站的流程。Jenkins作为开源持续集成工具,能显著提升企业网站部署效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

构建企业自动化部署 平台 , 可以大 大的提升企业网站部署效率,企业生产环境每天需要更新各 种系统 ,传统更网站的方法是使用 Shell +Rsync 实现网站代码备份、 更新 , 更新完之后,运维人员手动发送邮件给 测试人员 、 开 发人员以及相关的业务 人员 , 传统 更新网站耗费大量的人力,同时偶尔由于误操作会出现细小问题。构建自动化部署平台 变得迫在眉睫。
本章向读者介绍传统网站部署方法 、 企业主流部署方法 、 Jenkins 持续集成简介 、 持续集成平台构建、 Jenkins 插件部署 、 Jenkins 自动化部署网站 、 Jenkins 多实例及Ansible+Jenkins 批量自动部 署等 。

传统网站部署的流程

服务器网站部署是运维工程师的主要工作之一 , 传统运维网站部署主要靠 手动部署 , 手工部
署网站的流程大 致分为 :需求分析 → 原型设计 → 开发代码 → 提交测试 → 内网部署
→ 确认上线 → 备份数据 → 外网更新 → 发布完毕 → 网站测 试等 , 如 果发现外网部署
的代码有异常,需要及时回滚。如图22 - 1所示 :
在这里插入图片描述

目前主流网站部署的流程

传统部署网站的方法对于单台或者几台服务器更新很容易,如果服务器规模超过百 台或者千台,或者更新网站代码很频繁,手工更新就非常消耗时间成本。基于主流的 Hudson/Jenkins 工具平台实现全自动网站部署、网站测试、网站回滚会大大的减轻网站部署的成本,Jenkins 的前身为 Hudson,Hduson 主要用于商业版,Jenkins为开源免费版。

Jenkins 是一个可扩展的持续集成引擎、框架,是一个开源软件项目,旨在提供一个 开放易用的软件平台,使软件的持续集成变成可能。而且 Jenkins 平台的安装和配置非常的容易,使用也非常简单。构建 Jenkins 平台可以解放如下人员的双手,如图:
❑ 开发人员,对于开发人员来说,只需负责网站代码的编写,不需要手动再对源码进行编译、打包、单元测试等工作,开发人员直接将写好的代码分支存放在SVN、GIT 仓库即可。
❑ 运维人员,对于运维人员来说,使用 Jenkins 自动部署,可以减轻人工干预的 错误率,同时解放运维人员繁杂的上传代码、手动备份、手动更新。
❑ 测试人员,对于测试人员来说,可以通过 Jenkins 进行代码测试、网站功能或 者性能测试。

基于 Jenkins 自动部署网站的流程大致分为:需求分析→原型设计→开发代码→提
交测试→Jenkins 内网部署→确认上线→Jenkins 备份数据→Jenkins 外网部署→发布完
毕→Jenkins 网站测试等,如果发现外网部署的代码有异常,可以通过 Jenkins 及时回滚,
如图 22-4 所示:
在这里插入图片描述

Jenkins 持续集成简介

持续集成(Continuous Integration,CI|CD)是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础,持续集成意义如下:
❑ 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;
❑ 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之, 任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件 成为了可能;
❑ 持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的 情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心

Jenkins 持续集成组件

❑ 自动构建过程 JOB,JOB 的功能主要是:获取 SVN/GIT 源码、自动编译、自动打包、部署分发和自动测试等;
❑ 源代码存储库,开发编写代码需上传至 SVN、GIT 代码库中,供 Jenkins 来获取;
❑ Jenkins 持续集成服务器,用于部署 Jenkins UI、存放 JOB 工程、各种插件、编译打包的数据等。

Jenkins 平台安装部署

Linux部署Jenkins两种方法的介绍

yum安装参考地址这里我们使用war包部署到tomcat的方式

方法1:WAR包
 
步骤简介:
 
wget在官方下载jenkins.war的包到tomcat下
修改tomcat的server.xml配置,重启tomcat
调整防火墙规则,允许端口访问
浏览器访问:http://x.x.x.x:port
方法2:YUM安装
 
步骤简介:
 
添加官方的rpm包源,进行yum安装
编辑jenkins的/etc/init.d/jenkins程序文件,添加java路径
编辑jenkins的/etc/sysconfig/jenkins配置文件,修改端口、系统运行账户
编辑/etc/profiles文件添加jenkins的环境变量
启动jenkins服务service jenkins start
浏览器访问:http://x.x.x.x:port
二、两种安装方法的对比
 
WAR包安装
 
优点:
 
只有一个war包,轻量级部署
配置过程简单,无需额外配置
对于已经部署好tomcat+jdk环境的Server,可以在10分钟内就搭建好Jenkins平台,适用于快速部署和使用;
适合新手,或者对Linux不太熟的人员
缺点:
 
因为是官方直接打包好的.war包,修改配置容易出现报错
运行不稳定,增加插件、修改权限等,很容易崩溃
重启jenkins服务不太方便(java -jar /xx/xx/jenkins.war --httpPort=8080)
YUM安装
 
优点:
 
对于熟悉Linux服务配置的人员来说,轻车熟路的配置流程
可以根据Server环境,定制化的修改jenkins配置文件
可以很方便的查看服务运行状态(state)、日志、排错、重启服务
适用于Linux老司机
缺点:
 
配置的过程稍复杂,要修改的文件和参数
反复查看日志中的ERROR,根据模糊的错误信息,调整环境和配置
对于Linux新手来说,配置起来有点难,Troubleshouting有点懵

Jenkins 官网免费获取 Jenkins 软件,官网地址为:http://mirrors.jenkins-ci.org/下载稳定的 Jenkins 版本。由于 Jenkins 是基于 Java开发的一种持续集成工具,所以 Jenkins 服务器需安装 JAVA JDK 开发软件。Jenkins平台搭建步骤如下:

1、Jenkins 稳定版下载:

http://mirrors.jenkins-ci.org/war/2.250/jenkins.war
# 或者使用国内下载地址
https://mirror.tuna.tsinghua.edu.cn/jenkins/war/2.250/jenkins.war

2、官网下载JAVA8 JDK,并解压安装,代码如下:

jdk下载地址:https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html
注意需要登录oracle账户密码,自行下载安装

tar -xvf jdk-8u202-linux-x64.tar.gz -C /usr/local/;cd /usr/local/jdk1.8.0_202 

3、配置 JAVA 环境变量,/etc/profile 配置文件中末尾加入如下代码:

export JAVA_HOME=/usr/local/jdk1.8.0_202
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

执行如下代码使其环境变量,并查看环境变量,命令如下:

source /etc/profile
java --version

4、Tomcat JAVA 容器配置

wget -c http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
tar xzf apache-tomcat-9.0.37.tar.gz
mv apache-tomcat-9.0.37 /usr/local/tomcat

5、Tomcat 发布 Jenkins,将 Jenkins war 拷贝至 Tomcat 默认发布目录,并使用 jar工具解压,启动 Tomcat 服务即可,代码如下:

rm -rf /usr/local/tomcat/webapps/*
mkdir -p /usr/local/tomcat/webapps/ROOT/
mv jenkins.war /usr/local/tomcat/webapps/ROOT/
cd /usr/local/tomcat/webapps/ROOT/
jar –xvf jenkins.war;rm -rf Jenkins.war
sh /usr/local/tomcat/bin/startup.sh

启动日志如下,提示了admin用户密码
tail -200f /usr/local/tomcat/logs/catalina.out

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

a22cb871efc34f8497a18c65befc8cc6

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

6、通过客户端浏览器访问 Jenkins 服务器 IP 地址,如图 22-5 所示:

输入上方的密码登陆
在这里插入图片描述
提示安装自定义插件还是推荐插件,此处我选择推荐插件,安装过程可能由于网络原因导致失败,后续失败的可以在系统设置-插件管理里面卸载或者重新安装即可。

在这里插入图片描述
在这里插入图片描述
选择继续设置管理员

建用户并登陆
在这里插入图片描述
继续下一步:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值