利用Jpom在线构建部署Vue项目

引言

对于中小企业来说(我现在所在的企业),代码版本管理,服务在线构建部署是一个很头疼的事情,我目前所在公司,版本管理全手动(自己改了什么文件,记录下来,打包时整个文件拷贝),测试环境到生产环境的打包构建全靠人工复制,不仅效率低下,且容易出错,生产环境还需要重新测试,苦不堪言。

一天上班地铁上,关注的公众号推送一个中国的开源社区dromara: https://dromara.org

社区孵化了一些自己的项目,其中介绍了Jpom,Jpom: 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件

 一直在研究其文档,最近有时间付诸于行动,实际部署了一个简单的Vue项目,把大致流程搞明白了。

技术栈

1.Jpom,简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件。这是本文的主角。相对于Jenkins来说,个人理解Jpom更轻量,更适合中小企业的构建部署。这也是Jpom自己的定位。

2.docker,对于这篇博客,docker用来部署Nginx服务。

3.Nginx,Web服务器。

4.Vue,前端框架,前端整个服务基于Vue2框架,对于前端技术,需要学习的地方还很多。

环境

机缘巧合之下,薅羊毛搞了一个华为云主机,配置:

型号(规格)2 核 4 GB

云硬盘 系统盘:  40 GB 高IO

镜像信息 Ubuntu 20.04 server 64bit

带宽 1 Mbit/s 带宽

实践

Jpom文档基于 Jpom 搭建应用部署系统 | Jpom每一步都写的比较清楚,以下步骤中,我不会写的特别详细,主要的部分是说明遇到的坑。

1.安装Jpom

Jpom分为服务端Jpom-server与Jpom-agent插件端,服务端运行Jpom服务,负责服务的构建部署,插件端负责服务器节点的管理。

服务端插件端安装较简单,直接执行命令即可。

note

1.服务端插件端不能安装在同一目录,在安装的时候,插件端与服务端需要填写服务安装目录,如果是同一服务器,填写不同的安装目录

2.服务端需要以root用户运行,否则在服务发布的时候,会报权限错误。

服务端命令

apt install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Server jdk

插件端命令

# ubuntu
apt install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Agent jdk

安装完成后,服务器开放端口2122与2123,打开界面如下:

2.添加节点信息

 添加agent服务所在节点信息进行管理,本博客服务器与插件在相同节点,节点地址直接填写127.0.0.1:2123即可。添加完成后如下:

 点击管理界面,进入节点管理主界面。

点击系统管理,进行白名单设置,在后面项目部署的时候,构建完成的文件会复制到设置的白名单目录下(项目路径)。

 

3.添加仓库信息

 本博客添加的码云的仓库,选择HTTPS协议。

 添加完成后的界面

note

 服务器server与git仓库连接需要添加SSH公钥,做一个绑定,否侧仓库添加不上。具体操作步骤git ssh key配置_讨厌走开啦的博客-CSDN博客_git ssh

4.添加构建信息

如图所示,框1构建命令根据自己的项目实际填写,框2为步骤2设置的信息。 

添加构建信息完成后,如下图所示

5.开始构建

构建中,遇到的问题主要为没有以root权限运行Jpom服务,出了错误,构建了很多次才成功。

第9次构建成功的日志

构建成功后产物目录

 

6.配置NGINX文件,暴露服务

NGINX以docker容器方式运行,所以,重要的是在启动NGINX容器时,文件的挂载。这里放上启动NGINX容器的命令。

docker run -d -p 80:80 -p 443:443 --name nginx --restart=always -e TZ="Asia/Shanghai" \
-v /home/server/frontend/haihe-oa-sys-frontend/:/usr/share/nginx/html:ro \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/log:/var/log/nginx nginx

 其中,可以看到,把/home/server/frontend/haihe-oa-sys-frontend/直接映射到/usr/share/nginx/html。

7.打开浏览器,验证部署是否成功

 

写在最后

 本篇博客算是对于Jpom有了基本的入门,后面还有很多细研究的地方,主要是日志管理与监控管理,随着应用深入,产物希望以博客的形式分享出来。

从知道Jpom项目的存在,到这篇博客的问世,中间经历了大半年的时间,买了一个云服务器,也闲置了三个月,现在是终于有点时间折腾了,自己还是挺满意的,只要坚持探索,储备的知识有一天终究会用上的。

猜你喜欢

转载自blog.csdn.net/honor_zhang/article/details/126738553