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

传统网站部署的流程

在运维过程中,网站部署是运维的工作之一。传统的网站部署的流程大致分为:需求分析-->原型设计-->开发代码-->提交代码-->内网部署-->内网测试-->确认上线-->备份数据-->外网更新-->外网测试-->发布完成。如果在内网测试时发现代码有异常,返回代码开发人员名字,调整代码;如果在外网测试时发现外网部署的代码有异常,可以及时进行网站回滚。

传统代码上线的过程

开发人员发起代码上线的需求(邮件中包含开发做好的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

相关推荐
徐小黑ACG19 小时前
nginx配置文件
linux·服务器·nginx
新时代牛马19 小时前
Linux VFS 完整篇:从path_openat、dentry/inode 到page cache 与挂载排障
linux·运维·服务器
java_logo19 小时前
Docker 部署 Rocky Linux:轻松搭建 RHEL 兼容企业级基础镜像平台
linux·docker·容器·rocky linux·基础镜像·轩辕镜像·rhel 兼容
拂拉氏19 小时前
【知识讲解】 Linux虚拟地址空间认识
linux·虚拟地址空间
新时代牛马21 小时前
Linux 驱动中断与定时完整篇:从 request_threaded_irq 到hrtimer 选型与排障
linux·运维·服务器
分支预测失败1 天前
RISC-V 核间中断 IPI 实战:从 MSIP 寄存器到 IMSIC 消息投递
linux·后端
GeW1 天前
RHCE考试避坑指南"90%考生容易忽略的细节
linux
键盘会跳舞1 天前
【C++多线程】死锁诊断工具实战:从 Windows 到 Linux 的全链路排查
linux·c++·windows·死锁
拂拉氏1 天前
【知识讲解】 Linux环境变量的认识与使用
linux·环境变量
zhangrelay1 天前
答疑-是否软件源问题都必须更换为国内呢-
linux·笔记·学习·ubuntu·ros2