Linux基于Jenkins自动打包并部署Tomcat环境过程

 更新时间:2026年05月29日 15:01:10   作者:Cat_Rocky  
传统网站部署流程及Jenkins自动部署详解,涵盖需求分析、原型设计、开发代码等上线步骤,介绍Jenkins持续集成与部署流程,简化运维工作,提高部署效率

传统网站部署的流程

在运维过程中,网站部署是运维的工作之一。传统的网站部署的流程大致分为:需求分析-->原型设计-->开发代码-->提交代码-->内网部署-->内网测试-->确认上线-->备份数据-->外网更新-->外网测试-->发布完成。

如果在内网测试时发现代码有异常,返回代码开发人员名字,调整代码;如果在外网测试时发现外网部署的代码有异常,可以及时进行网站回滚。

传统代码上线的过程

开发人员发起代码上线的需求(邮件中包含开发做好的WAR包)-->运维人员连接线上负载调度器(Nginx)--> 隔离一组服务器(Tomcat)--> 连接服务器(Tomcat)--> 备份旧代码(tar打包)--> 删除旧代码目录 --> 上传新的WAR包 --> 外网测试 --> 测试不通过则通过备份回滚代码 --> 测试通过则利用rsync的脚本推送代码到其他服务器--> 统一外网测试 -->连接调度器恢复隔离机制 --> 隔离另一组服务器实施上线步骤 --> 上线完成。

目前主流网站部署的流程

目前主流网站部署方法:通过 Hudson/Jenkins 工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,属于开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins 非常易于安装和配置,简单易用。

  • 开发人员:写好代码,不需要自己进行源码编译、打包等工作,直接将代码分支存放在 SVN、Git 仓库即可。
  • 运维人员:减轻人工干预的错误率,同时解放运维人员繁杂的上传代码、手动备份、更新等操作。
  • 测试人员:可以通过 Jenkins 进行简单的代码及网站测试。

Jenkins 的工作原理是先将源代码从 SVN/Git 版本控制系统中拷贝一份到本地,然后根据设置的脚本调用Maven进行 build(构建)。

整个系统的关键就是 build 脚本,build 脚本告诉Jenkins 在一次集成中需要执行的任务。

配置实验

配置git主机

  • 安装:yum -y install git
  • 创建用户:useradd git
  • 设置密码:echo "123" | passwd --stdin git
  • 创建本地仓库object2
su - git
mkdir object2.git
cd object2.git
git --bare init
exit

在tomcat节点

  • 下载:yum install -y tomcat
  • 启动:systemctl start tomcat.service
  • 查看:netstat -antpu | grep 8080

192.168.11.128:8080

随意点击一个服务,按提示操作

编译文件:vim /etc/tomcat/tomcat-users.xml 添加:用户名和密码可以更改

<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

编译文件:vim /var/lib/tomcat/webapps/manager/META-INF/context.xml添加网段

备份文件:cd /var/lib/tomcat/webapps/

删除目录:rm -rf host-manager/ manager/ ROOT/

下载:yum install -y maven 用于打包java网页(用豆包创建网页)

执行:mvn clean package

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux中英文命令对应

    Linux中英文命令对应

    本文我们把Linux的中英文命令做了对应翻译,给需要的朋友参考一下。
    2017-12-12
  • Ubuntu 20.04缺少libssl.so.1.0.0错误的解决方案

    Ubuntu 20.04缺少libssl.so.1.0.0错误的解决方案

    在使用Ubuntu 20.04时,你可能会遇到一些较老的应用程序因缺少libssl.so.1.0.0库而无法运行的问题,这是因为Ubuntu 20.04默认使用的是更新版本的OpenSSL库,本文将介绍如何快速解决这个问题,需要的朋友可以参考下
    2025-11-11
  • linux下实现VPS免费备份脚本

    linux下实现VPS免费备份脚本

    因为本bolg是架设在vps上的,空间商又没有提供备份的功能,所以说哪天vps挂了,我的网站也就跟着挂了
    2012-05-05
  • 使用squid搭建http代理的方法

    使用squid搭建http代理的方法

    这篇文章主要介绍了使用squid搭建http代理的方法,需要的朋友可以参考下
    2016-11-11
  • Linux报错:tar: Error Is Not Recoverable: Exiting Now问题及解决

    Linux报错:tar: Error Is Not Recoverable:&n

    本文介绍了在Linux系统下解压`.tar.gz`文件时遇到的错误及其解决方法,错误通常是由于文件下载不完整或参数设置错误引起的,解决方法包括:1. 去掉解压参数中的`z`,改为`tar -xvf xx.tar.gz`,适合非gzip过滤归档文件;2. 重新下载或上传文件,确保文件完整性
    2025-02-02
  • Linux进程管理工具supervisor安装配置教程

    Linux进程管理工具supervisor安装配置教程

    这篇文章主要介绍了Linux进程管理工具supervisor安装配置教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Linux解决rsyslog服务占用内存过高的办法

    Linux解决rsyslog服务占用内存过高的办法

    当我们使用top命令查看内存占用时,发现rsyslogd内存占用很高,所以接下来这篇文章给大家介绍了Linux解决rsyslog服务占用内存过高的办法,文中有详细的图文介绍,需要的朋友可以参考下
    2024-05-05
  • Ubuntu上释放空间的5种简单方法

    Ubuntu上释放空间的5种简单方法

    这篇文章主要给大家介绍了关于Ubuntu上释放空间的5种简单方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Ubuntu系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Linux系统(CentOS7安装)安装JDK8的教程详解

    Linux系统(CentOS7安装)安装JDK8的教程详解

    这篇文章主要介绍了Linux系统(CentOS7安装)安装JDK8的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • linux下RPM包安装基于xinetd的服务的管理

    linux下RPM包安装基于xinetd的服务的管理

    大家好,本篇文章主要讲的是linux下RPM包安装基于xinetd的服务的管理,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论