新手求助:通过Jenkins本地部署GitHub上SpringBoot Maven项目Jar包POC
嘿Somi,作为Jenkins新手搞POC完全不用慌!我给你一步步拆解怎么用本地Jenkins部署你的SpringBoot Maven项目,都是实操性的步骤,跟着来就行:
前置准备
- 先确认本地装好了Jenkins、和你项目匹配的JDK,还有Maven,并且在Jenkins的「全局工具配置」里已经配置好了JDK和Maven的路径(不然Jenkins找不到这些工具哦)
- 确保你的GitHub项目是公开的,或者已经在Jenkins里配置好了访问私有仓库的凭证(公开仓库直接用HTTPS地址就行)
步骤1:创建Jenkins任务
- 打开Jenkins控制台,点「新建任务」,选「自由风格项目」,起个好记的名字比如“SpringBoot-POC-Deploy”,点确定进入配置页
- 在「源码管理」板块选Git,把你的GitHub仓库地址填进去,比如
https://github.com/你的用户名/你的项目名.git,如果要指定分支部署,在「分支指定」里填*/main或者你实际用的分支名
步骤2:构建前的小准备(可选但推荐)
- 怕之前的构建产物干扰?可以在「构建环境」里勾选「Delete workspace before build starts」,每次构建前清空工作区
- 也可以加个「构建步骤」选「Execute shell」(Linux/macOS)或者「Execute Windows batch command」(Windows),先跑个
mvn clean清理掉旧的编译文件
步骤3:构建Jar包
- 添加「构建步骤」,选「Invoke top-level Maven targets」
- 在「Goals」里填
clean package -DskipTests,POC阶段跳过测试能加快构建速度,要是需要跑测试就去掉-DskipTests - 要是你的项目用了自定义的Maven settings.xml,就在「Advanced」里指定文件路径就行
步骤4:部署Jar到本地
这里给你两种方式,按需选就行:
方式1:直接启动Jar(适合快速验证POC)
- 加个「构建步骤」或者「构建后操作」,选对应的Shell/批处理命令
- 先杀掉可能占用端口的旧进程,比如Linux下(假设你项目用8080端口,改成你实际的):
Windows下可以这么搞:PID=$(lsof -t -i:8080) if [ ! -z "$PID" ]; then kill -9 $PID fifor /f "tokens=5" %%a in ('netstat -ano ^| findstr :8080') do taskkill /f /pid %%a - 然后后台启动Jar包,Linux用:
Windows用:nohup java -jar target/你的项目名-版本号.jar &start /B java -jar target\你的项目名-版本号.jar
方式2:注册成系统服务(更稳定,适合长期运行)
- Linux下先写个systemd服务文件,比如
springboot-poc.service,内容大概是:[Unit] Description=SpringBoot POC 服务 After=network.target [Service] User=你的本地用户名 ExecStart=/usr/bin/java -jar /var/lib/jenkins/workspace/SpringBoot-POC-Deploy/target/你的项目名-版本号.jar Restart=always [Install] WantedBy=multi-user.target - 然后在Jenkins的构建步骤里加Shell命令,把服务文件复制到指定目录并重启服务:
注意要给Jenkins用户配置sudo免密权限,不然执行命令会报错sudo cp springboot-poc.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl restart springboot-poc.service
步骤5:验证部署结果
- 构建完成后,打开浏览器访问
http://localhost:你的项目端口,看看能不能正常访问接口或者页面 - 要是出问题了,直接看Jenkins的「控制台输出」,里面会有详细的日志,比如Maven构建失败、端口被占这些问题都能查到
内容的提问来源于stack exchange,提问作者Madhu Sudhan Reddy




