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

相关推荐
.道阻且长.4 分钟前
Linux软件包管理器
linux·运维·ubuntu·职场和发展·centos
想做小南娘,发现自己是女生喵28 分钟前
第二周学习文档 Linux C 文件操作
linux·c语言·学习
djjjx.36 分钟前
Linux进程篇(三):深度硬核!全面起底 Linux 进程状态变化与内核链表动态解绑
linux·运维·服务器
乔旭伟39 分钟前
Linux 服务器环境搭建实战笔记:最小化安装、Docker Compose 编排与上线检查全流程
linux·服务器·笔记
Chenyu_3109 小时前
DPDK、TC 和 XDP:Linux 高性能网络到底在优化什么
linux·服务器·网络·缓存
陈让然10 小时前
WSL 桥接设置静态IP(快速)
linux·网络·ubuntu
乔旭伟11 小时前
Linux 服务器备份实战:一致性快照、日志归档与恢复演练
linux·运维·服务器
乔旭伟11 小时前
Linux 服务器安全加固实战:SSH、防火墙、补丁与入侵排查
linux·服务器·安全
刘胡子大叔12 小时前
备份包只有 1.5K?
linux·服务器·网络
无足鸟ICT12 小时前
【RHCA+】RPM包验证和数字证书
linux·运维·服务器