
1、jenkins服务器和应用服务器是同一台机器
流程: 代码上传->gitlab通知->服务器->打包->本地tomcat-自动发布
基础环境:tomcat、jdk、maven、git
好处:相比两台服务减少网络传输消耗,减少构建失败率等等
缺点:jenkins服务器占用的内存高,没有做到解耦构建和部署过程
适合:两者服务器不能能通信情况,需要把Jenkins和tomcat服务器放在一台服务器上,不建议使用
2、jenkins服务器和应用服务器不在同一台机器上
前提条件:两者服务器能通信
jenkins服务器和应用服务器为什么要分开:
1.管理复杂的部署环境
2.解耦构建和部署过程
3.支持多种部署策略
4.落实部署流程规范
5.让部署操作服务化
2.1 jenkins服务器 负责执行流程
流程: 代码上传->gitlab通知->jenkins服务器git下拉->jenkins服务器maven打包->发送到远程应用服务器的tomcat->发布
jenkins服务器环境:jdk、jenkins.war、git,maven、git、tomcat(可选,但不推荐)
应用服务器环境:jdk、tomcat
好处:实现构建和部署过程的解耦
缺点:1.在jenkins服务器拉取代码进行打包后->发送到远程应用服务器 —_— 但打包的文件过大,需要考 虑到网络传输的消耗和构建失败率。
2.多环境构建带来的压力,比如说:多个项目用到的java版本不一致。
适合:适合项目打包后的 文件大小 较小的情况 (例如小于50M),不建议使用这种部署方式。
2.2 应用服务器 负责流执行程 (推荐)
流程:代码上传->gitlab通知->jenkins服务器执行构建->远程应用服务器git下拉->远程应用服务器maven打包->发送到远程应用服务器的tomcat->发布
好处:实现构建和部署过程的解耦,减少网络传输消耗和构建失败率,减少Jenkins服务器环境的压力
缺点:多环境,多系统的维护成本
适合:多环境项目的使用,项目打包很大的情况
网友评论