jenkins部署springboot项目(超详细讲解)

简介: jenkins部署springboot项目(超详细讲解)

 原来写了一篇博客是如何安装jenkins的,今天也来介绍一下怎么简单使用吧。

首先,我们要明确,jenkins自动化部署也只是代替你去做你要做的事,

我们梳理一下,你的代码写完,打包,扔到服务器上,部署。

所以jenkins代替我们要做什么

1.你的代码提交到git上,jenkins要把你的代码从git上拉取下来,然后编译,打包

2.运行这个包

看上去是很简单的,那么就让我们一步步来做吧。

上接我的Jenkins的简单使用,小白式教程_jenkins使用教程_前端菜茍的博客-CSDN博客

这里我们重启了一下jenkins

image.gif

docker restart jenkins

安装插件

image.gif

在可选插件中,搜索Maven Integration ,Gitee和 Publish Over SSH 三个插件:

image.gif

image.gif

Maven Integration:Maven构建工具。

Publish Over SSH:整个工具,将来把Jenkins打包好的jar上传到应用服务器上。

搜索完成后,点击Install without restart:

image.gif

安装成功后,重启jenkins。最好手动重启。执行docker restart jenkins

配置jenkins

1.基本的环境配置

这个需要提前准备jdk和maven,避免权限问题,直接将jdk和maven上传到jenkins中,

一共需要配置以下环境

jdk

maven

git

image.gif

jdk配置

jenkins自带jdk,我们可以通过以下指令查看一下

docker exec -it jenkins /bin/bash // 进入jenkins

java -version //查看java版本

which java //查看java位置

image.gif

这里不包含/bin/java的部分就是java_home了

image.gif

别名随意取,java_home根据实际情况配置

maven配置

这个要自己准备

下载地址:https://dlcdn.apache.org/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.tar.gz

可以直接cd到opt下面,用wget指令下载

也可以下载到本地,再上传到opt目录下

image.gif

image.gif

可以看到java环境也在里面,我们将maven下载上传一下

退出exit

image.gif

解压一下,拷贝到容器中

image.gif

重命名image.gif

拷贝进jenkins容器

image.gif

ok

我们最后来查看一下

image.gif

在容器的opt目录下已经存在maven文件夹了

接下来配置一下

image.gif

名字随意,maven_home则是刚刚上传到容器中的maven目录

git配置

由于jenkins容器中已经存在git了,所以这里不需要额外安装git,默认即可

image.gif

所以都配置完成,点击保存按钮。

image.gif

简单介绍一下,这几个都是项目构建工具,ant是最古老的项目构建工具,这个写的东西太多,太麻烦,然后就搞了个东西叫maven,后来又觉得maven太慢了,有没有更高效的工具呢,所以又搞了一个东西,叫gradle。spring的开源项目基本都迁移到gradle上了。先有ant,再又maven,最后有gradle,情况基本就是这么个情况,大家知道这些都是构建工具即可。

2.远程的凭证配置

3.应用服务器信息

应用服务器,就是将来jenkins将代码构建成功后,要上传的地方

image.gif

找到Publish over SSH,点击新增

image.gif

Name:随意填

Hostname:服务器地址

Username:root

Passphrase/Password:密码

image.gif

点击Test Configuration ,左边显示Success,配置成功

4.gitee的信息

image.gif

这里要先在gitee上准备一个仓库

image.gif

链接名就是仓库的地址,下面点击添加

image.gif

添加完凭据,选择这个Gitee API 令牌。最后测试链接,显示成功

最后点击保存。

开始一个项目的构建

image.gif

点击新建任务

image.gif

这里有一个需要注意的地方,就是分支,GitHup上现在默认的主分支名称时main。

image.gif

这里添加时用用户名密码登录

image.gif

添加完,选择一下该凭证

image.gif

image.gif

项目构建命令image.gif

image.gif

image.gif

deploy.sh脚本如下

export JAVA_HOME=/opt/java

export PATH=$JAVA_HOME/bin:$PATH


JAR_PATH=/root/data


JARFILE=denkins_demo-1.0-SNAPSHOT.jar


ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9


java -jar $JAR_PATH/$JARFILE > out.log &

if [ $? = 0];then

       sleep 30

       tail -n 50 out.log

fi


ls -lt|awk 'NR>${print $NF}'|xargs rm -rf

ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9

简单介绍一下上面这个语句,查找进程,按照$JARFILE的名字去过滤,最后把他kill掉,就是把上一个运行的jar杀掉,重新运行一个。

到这里就ok了。我们立即构建

image.gif

image.gif

image.gif

成功了。可以去服务器上看看有没有运行这个jar包,访问一下看看效果。

可以用jps查看运行中的jar文件,jenkins使用相对来说比较方便,也较为简单,希望对大家有所帮助。

再补充一个自动构建

修改俩个地方

1.首先配置一下触发构建的规则

image.gif

image.gif

2.复制上面的http://124.221.26.149:8088/gitee-project/my_first_jenkins_demo再去Gitee的项目中,配置WebHook,在管理选项卡选择WebHook

image.gif


相关文章
|
4月前
|
Kubernetes jenkins 持续交付
Artifact Hub在Kubernetes中的应用:部署Jenkins的脚本整理
以上步骤断言清晰明确地描述了如何通过Artifact Hub 使用Helm图表来部署Kubernetes 中得Jenkis 实例,并且提供了相应得Shell 脚本作为执行指南. 这样不但能够帮助用户快速地进行操作, 同时也能够通过自定义参数来满足不同用户需求.
158 5
存储 jenkins 持续交付
692 2
|
5月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
699 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
6月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
374 0
|
7月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
316 0
|
7月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
593 0
|
7月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
456 3
|
7月前
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
756 3
|
7月前
|
jenkins Java 持续交付
使用Jenkins完成springboot项目快速更新
本文介绍了使用Jenkins和WinSW实现SpringBoot项目自动化部署的完整流程。首先讲解了Jenkins作为持续集成工具的作用,然后详细说明了环境准备步骤:包括JDK版本管理、WinSW服务配置(含XML文件修改)以及bat启动脚本编写。重点演示了Jenkins的项目配置方法,包括源码管理设置和构建步骤中的Windows批处理命令调用。通过这套方案,开发者只需推送代码到Git仓库,即可触发Jenkins自动完成项目构建、服务重启等全流程,显著提升部署效率。文章还提到IDEA的Jenkins插件可进
315 0
|
分布式计算 大数据 Java
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
174 0

推荐镜像

更多