> 技术文档 > Jenkins自动化发布到服务器并自动运行_jenkins自动发布

Jenkins自动化发布到服务器并自动运行_jenkins自动发布


前言

前面文章介绍了如何安装jenkins并成功运行以及maven项目的打包部署,这篇文章将讲述自动化发布到服务器并自动运行,持续更新中……记得关注哦~

一、准备工作

1. 云服务器环境准备

确保云服务器已安装 JDK(与开发环境版本一致)
开放必要的端口(如 8080、22 等)

2. Jenkins 服务器配置

确保 Jenkins 服务器可以 SSH 连接到目标云服务器
安装必要的 Jenkins 插件:
Publish Over SSH
在这里插入图片描述

二、配置 Jenkins 连接云服务器

1. 配置 SSH 连接

进入 Jenkins 管理界面 → “Manage Jenkins” → “Configure System”
找到 “Publish over SSH” 部分
添加 SSH Server 配置:

Name 给服务器起个名称(如 “testServer”) Hostname 云服务器 IP 地址 Username SSH 登录用户名(如 “root”)

选择认证方式:
使用密码:直接填写密码
使用密钥:将 Jenkins 服务器的公钥添加到云服务器的 ~/.ssh/authorized_keys 中
在这里插入图片描述
在这里插入图片描述

三、部署与配置

1. 修改 Maven 打包配置

确保 pom.xml 包含 Spring Boot Maven 插件:

   org.springframework.boot spring-boot-maven-plugin  

2. Jenkins 项目配置

在构建后步骤中添加 “Send files or execute commands over SSH”
在这里插入图片描述

配置传输:

配置项 配置内容 Source files **/target/*.jar(根据实际打包名称调整) Remove prefix target/ Remote directory /opt/yourapp(自定义应用目录)

Exec command:

#!/bin/bashAPP_JAR=\"/root/opt/yourapp/*.jar\"LOG_FILE=\"/var/log/yourapp.log\"# 停止旧进程if pkill -f \"java.*$(basename $APP_JAR)\"; then echo \"成功停止旧进程\"else echo \"没有找到运行中的进程\"fi# 确认进程终止for i in {1..5}; do if pgrep -f \"java.*$(basename $APP_JAR)\" >/dev/null; then sleep 1 else break fidone# 启动新实例echo \"nohup java -jar $APP_JAR > $LOG_FILE 2>&1 &\" | at nowecho \"已提交后台启动任务,使用以下命令检查:\"echo \"tail -f $LOG_FILE\"

在这里插入图片描述

四、 重新构建项目

4.1 点击项目重新构建

在这里插入图片描述

4.2 查看构建日志

Jenkins自动化发布到服务器并自动运行_jenkins自动发布

4.3 查看项目启动情况

在云服务器中执行 jps 查看项目是否启动成功

Jenkins自动化发布到服务器并自动运行_jenkins自动发布

4.4 访问接口

Jenkins自动化发布到服务器并自动运行_jenkins自动发布
大功告成!!!