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天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的旅游攻略系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的旅游攻略系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue个人博客系统设计和实现(源码+LW+部署讲解)
基于SpringBoot+Vue个人博客系统设计和实现(源码+LW+部署讲解)
20 7
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue个人健康管理网站设计和实现(源码+LW+部署讲解)
基于SpringBoot+Vue个人健康管理网站设计和实现(源码+LW+部署讲解)
18 7
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的在线招聘平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线招聘平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的公交系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的公交系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
17 7
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的志愿服务管理系统设计和实现(源码+LW+部署讲解)
基于SpringBoot+Vue的志愿服务管理系统设计和实现(源码+LW+部署讲解)
26 6
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的武汉市公交路线查询系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的武汉市公交路线查询系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的成人教育APP的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的成人教育APP的详细设计和实现(源码+lw+部署文档+讲解等)