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


相关文章
|
1月前
|
Java 数据库连接 Maven
springBoot:项目建立&配置修改&yaml的使用&resource 文件夹(二)
本文档介绍了如何创建一个基于Maven的项目,并配置阿里云仓库、数据库连接、端口号、自定义启动横幅及多环境配置等。同时,详细说明了如何使用YAML格式进行配置,以及如何处理静态资源和模板文件。文档还涵盖了Spring Boot项目的`application.properties`和`application.yaml`文件的配置方法,包括设置数据库驱动、URL、用户名、密码等关键信息,以及如何通过配置文件管理不同环境下的应用设置。
|
12天前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
49 1
SpringBoot获取项目文件的绝对路径和相对路径
|
3天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
11 2
|
7天前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
27 8
|
1月前
|
JavaScript 前端开发 Java
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
这篇文章详细介绍了如何在前端Vue项目和后端Spring Boot项目中通过多种方式解决跨域问题。
313 1
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
|
14天前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
38 2
|
14天前
|
前端开发 Java Spring
SpringBoot项目thymeleaf页面支持词条国际化切换
SpringBoot项目thymeleaf页面支持词条国际化切换
42 2
|
14天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
28 1
|
16天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
22天前
|
自然语言处理 jenkins 测试技术
Jenkins适合什么样的项目
【10月更文挑战第18天】Jenkins适合什么样的项目
27 3