1. 安装
1.1. 服务器端/插件端
#确保 系统中已经有 JDK 并且配置环境变量 #默认安装 默认安装是将服务端安装到默认位置:/usr/local/jpom-server/ curl -fsSL https://jpom.top/docs/install.sh | bash -s Server default
#默认安装 #默认安装是将插件端安装到默认位置:/usr/local/jpom-agent curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent default
1.2. 安装服务
# 默认安装地址为/usr/local/jpom-server/ bash /usr/local/jpom-server/bin/Service.sh install #如果指定了其他安装地址 则替换为其他地址 bash /xxxx/bin/Service.sh install
# 默认安装地址为/usr/local/jpom-agent/ bash /usr/local/jpom-agent/bin/Service.sh install #如果指定了其他安装地址 则替换为其他地址 bash /xxxx/bin/Service.sh install
安装出现的问题:
JAVA_HOME variable not found
#注意 服务器上的jdk最好自己安装,不要用openjdk #1. 查看java 是否安装,未安装先安装jdk java -version #2. 查找java安装路径,会返回路径,后续要配置 readlink -f $(which java) #3. 配置环境变量 vim ~/.bashrc #4. 在最后加上如下代码 其中JAVA_HOME的路径就是第2步返回的路径 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre/bin/java export PATH=$JAVA_HOME/bin:$PATH #5. 保存并退出 #6. source source ~/.bashrc
CLASSPATH variable not found
#和上面一样 打开vim ~/.bashrc vim ~/.bashrc #在文件后面添上如下代码 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #source 让文件生效 source ~/.bashrc
1.3. 启动服务
#开机自启 systemctl enable jpom-server systemctl start jpom-server systemctl stop jpom-server systemctl status jpom-server systemctl restart jpom-server
#开机自启 systemctl enable jpom-agent systemctl start jpom-agent systemctl stop jpom-agent systemctl status jpom-agent systemctl restart jpom-agent
启动完成后,http://您服务器的IP:2122 即可访问 Jpom 服务端 (插件端没有页面)
如果无法访问,查看 linux 是否开放2122 端口
2. 构建
菜单: 在线构建-> 构建列表 -> 新增
2.1. 在线构建
2.1.1. 构建方式
这边选择本地构建
2.1.2. 基础信息
填写构建名称,以及 git 仓库地址和构建的分支
2.1.3. 构建流程
- 这边是后台项目,命令填mvn clean package
- 前端项目 命令 填前端的打包命令npm i && npm run build:test
注意:
这边的构建是 安装的 jpom 这台服务器 拉取 git 的源码,并打包的。所以后台项目打包之前需要在 jpom 这台服务器上先安装 maven。前端也一样 需要先安装 node 环境。
注意:
这边有个产物目录 ,这个地址看构建的日志,去 jpom 中找一下记录。然后吧对应的路径填到产物目录里可以。填错的话,构建的时候,会提示找不到产物目录。
- java 项目一般是 target/xxx.jar
- vue 项目是 dist 目录
2.1.4. 发布操作
这边可以选择不发布或者本地命令。不发布的话只是打包,发布的话填写发布后命令,即可打包后并发布
Tag="Z001-snackShop.jar" # 检查进程状态 pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}') if [ "$pid" != "" ]; then echo -n "boot ( pid $pid) is running" echo echo -n $"Shutting down boot: " pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}') if [ "$pid" != "" ]; then echo "kill boot process" # kill "$pid" kill -9 "$pid" fi else echo "boot is stopped" fi # 启动项目 nohup java -Dappliction=$Tag -jar /usr/local/jpom-server/data/build/f8fe6b8cac25468389fe2de1a59aebc4/source/snack-admin/target/Z001-snackShop.jar > /dev/null 2>&1 &
2.2. 触发器
在侯建列表中还有一个触发器。触发器的作用就是在 git push 自动执行构建并打包。
注意:
jpom 需要部署在公网 ip 的服务器上,这边复制 单个触发器地址 到 git 上 才可以。