当前位置: 首页 > news >正文

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 SSH

3: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:控制台对应日志

2.4:查看对应目录下是否成功上传对应的jar包,并启动jar

http://www.dtcms.com/a/570010.html

相关文章:

  • 重塑城市治理的智能运营新范式
  • 网站托管什么意思苗木网站素材
  • 东营做网站m0536怎么做网站一个平台
  • 课程表---bfs
  • Redis的数据淘汰策略解读
  • Spring EL 表达式
  • 利用海伦公式计算经纬度坐标点到直线的距离
  • 前端面试题最大矩形面积问题
  • 网站建设顺德营销型网站制作msgg
  • 19、【Ubuntu】【远程开发】技术方案分析:远程桌面
  • 从零到一:我的开源AI商业化实战之路
  • 景县网站建设在线培训平台
  • 第21课:前端界面开发:用Gradio构建RAG应用UI
  • 网站原型图是什么做网站的数据从哪里来
  • 网站文件权限设置金融投资网站源码
  • 织梦手机网站怎么修改密码html网站设计模板下载
  • 哪种网站开发最简单家庭宽带做网站稳定吗
  • 浅谈Linux内核kswapd的内存域(zone)扫描机制
  • 什么是北斗短报文终端?与卫星电话有什么区别?
  • Maven基础(一)
  • MAC-SQL:黄金标准错误
  • 怎样创建基本的网站电子商务网站建设的试卷
  • 网站加盟代理wordpress 本地调试
  • 如何使用AI快速编程实现标注ROS2中sensor_msgs/msg/Image图像色彩webots2025a
  • 专业定制网站开发公司做纺织的用什么网站
  • 20251104让AIO-3576Q38开发板跑Rockchip的原厂Android14进行性能测试【使用天启的DTS】
  • 【案例】三维扫描实现
  • 无人设备遥控器之天线技术分析
  • 宁波市建设工程监理协会网站工程公司年会发言稿
  • 广州旅游团购网站建设中山seo