Docker安装jenkins并配置对应的maven项目自动发布
一、步骤
docker run \
-d --name jenkins \
-p 8120:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
1.1:默认jenkins页面请求路径:http://ip:8120
1.2:第一次进入Jenkins时,需要进入docker的Jenkins的容器中查看默认的密码:
# 进入docker中对应的容器
# docker exec -it 容器名 bash
1:docker exec -it jenkins bash# 查看对应的Jenkins默认的密码
2:cat 对应页面中提供的目录
1.3:初始化
进入后,会让我们选择插件的初始化安装,我们这里选安装推荐的插件即可,然后会帮我们安装如下插件,耐心等待全部安装完成
- 1.4:补充相额外后面需要用到的插件

# 补充下面两个插件,插件安装成功后记得重启Jenkins
1:Deploy to container
2:Publish Over SSH3:GitLab Plugin
4:
Maven Integration
1.4:全局工具配置

配置对应的git与maven(都勾选上自动安装)


- 1.5:在系统配置中配置需要用到的服务器

然后往下滑,会有SSH Server(后续配置maven项目时会用到)

1.5:新建maven任务
1.5.1:到首页选择新建任务

1.5.2:新建任务选构建一个maven项目

1.5.3:配置

1:我配置了丢弃旧的构建(自行决定是否丢弃)
2:配置git仓库
3:配置对的git凭证
4:触发器配置(根据需求是否配置轮询发布或定时构建)
5:配置Pre Steps(预步骤)
命令:
cd /usr/local/project/pet; rm -rf pet-server.jar; rm -rf nohup.out;6:构建(我这里跳过了test打包)
7:配置Post Steps(发布步骤)--- 重点
配置Exec command:(重点)#!/bin/bash echo "=== 开始部署 ===" mv /root/usr/local/project/pet/pet-server.jar /usr/local/project/pet/cd /usr/local/project/pet PROJECT_PATH="pet-server.jar" LOG_PATH="nohup.out"# 使用绝对Java路径 JAVA_CMD="/usr/local/jdk/jdk-21.0.3/bin/java"echo "停止现有进程..." PID=$(ps -ef | grep "$PROJECT_PATH" | grep -v grep | awk '{print $2}') if [ -z "$PID" ]; thenecho "应用未运行" elseecho "停止进程: $PID"kill -9 "$PID"sleep 3 fiecho "启动应用..." # 使用绝对路径,避免环境变量问题 nohup $JAVA_CMD -jar "$PROJECT_PATH" > "$LOG_PATH" 2>&1 &echo "应用启动命令执行完成"# 验证启动 sleep 2 NEW_PID=$(ps -ef | grep "$PROJECT_PATH" | grep -v grep | awk '{print $2}') if [ -n "$NEW_PID" ]; thenecho "应用启动成功! PID: $NEW_PID" elseecho "应用启动失败!"echo "检查日志:"tail -20 "$LOG_PATH" 2>/dev/null || echo "无法读取日志文件" fiecho "=== 部署完成 ==="
二、验证
2.1:立即构建

2.2:查看最新生成的构建(查看控制台输出)

2.3:控制台对应日志









