Maven+Gitlab集成
配置好下列环境
# Java环境
JAVA_HOME
/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64
# Maven环境
MAVEN_HOME
/usr/local/maven
# Maven环境变量
PATH+EXTRA
$MAVEN_HOME/bin
1. 配置settings.xml路径
2. 安装maven插件
创建项目
配置gitlab地址和指定分支
3. 指定你要进行的maven操作和pom文件地址
mvn clean && mvn package
4. 构建成功后执行自定义的脚本
脚本如下
#!/bin/bash
# 查找占用7777端口的进程ID
# PID=$(sudo lsof -t -i :7777 | awk 'NR==2{print $2}')
PID=$(sudo lsof -t -i :7777)
if [ -z "$PID" ]; then
echo "Port 7777 is not in use."
else
# 终止进程
kill $PID
echo "Process with PID $PID has been terminated."
fi
# 创建时间戳文件夹
timestamp=$(date +%Y%m%d%H%M%S)
folder_name="jar_$timestamp"
cd /opt/test
sudo mkdir "$folder_name"
# 源目录
source_dir="/var/lib/jenkins/workspace/maven_test2/target"
# 目标目录
target_dir="/opt/test/$folder_name"
# 复制目录下的所有文件到目标目录
sudo cp -r "$source_dir"/* "$target_dir"
# 输出打印
echo "文件夹创建成功:$folder_name"
# 进入新建的文件夹下
cd $folder_name
jar_files=$(ls -d *.jar | awk -F/ '{print $NF}')
if [ -n "$jar_files" ]; then
echo "找到以下.jar文件:"
echo "$jar_files"
else
echo "未找到任何.jar文件"
fi
#启动jar包
#java -jar $jar_files
#后台启动
sudo nohup java -jar $jar_files &
查看控制台日志,第一次部署可能下载jar包比较慢
访问服务器,成功!