跳至主要內容

Jpom-国产Jenkins

程序员李某某大约 1 分钟

Jpom-国产Jenkins

安装部署

mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
docker run -d -p 2122:2122 \
	--name jpom-server \
	-v /home/jpom-server/logs:/usr/local/jpom-server/logs \
	-v /home/jpom-server/data:/usr/local/jpom-server/data \
	-v /home/jpom-server/conf:/usr/local/jpom-server/conf \
	jpomdocker/jpom

win

mkdir D:\Documents\test\jpom\logs D:\Documents\test\jpom\data D:\Documents\test\jpom\conf
docker run -d -p 2122:2122 --name jpom-server -v D:\Documents\test\jpom\logs:/usr/local/jpom-server/logs -v D:\Documents\test\jpom\data:/usr/local/jpom-server/data -v D:\Documents\test\jpom\conf:/usr/local/jpom-server/conf jpomdocker/jpom

配置

  1. 访问 http://localhost:2122
  2. 设置账号
  3. 配置 ssh 信息:配置 ssh 信息、便于构建后发布到对应服务器中
    • 服务器IP
    • ssh 端口
    • 登录的账号信息(账号、密码)
    • 文件目录:文件目录为给对应 ssh 授权部分目录可以在 Jpom 中使用,一般用于构建发布目录、ssh 文件管理

实践案例

本地构建 + SSH 发布 java 项目

配置构建信息

  • 构建的项目(仓库)信息
  • 项目的构建命令(依赖的构建环境:maven、vue、python、php)
    • mvn clean package
    • npm run build
    • ......
  • 构建产物的目录(项目中的相对路径)
    • java 项目一般位于当前项目 target 目录下的某个文件
    • vue 项目一般位于当前项目 dist 文件夹
  • 发布目录:项目将发布服务器到哪个目录(需要已经配置到 ssh 文件目录中)
  • 发布命令:执行发布后执行的命令,如:配置停止、启动项目

Java 项目发布命令示例

Tag="jpom-test-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 /home/java/test/springboot-test-jar-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &
上次编辑于:
贡献者: 李元昊