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


相关文章
|
24天前
|
Java 应用服务中间件 Maven
如何将 Spring Boot 应用程序部署为 WAR?
如何将 Spring Boot 应用程序部署为 WAR?
81 1
|
17天前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
37 5
|
19天前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
31 6
|
19天前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
38 5
|
19天前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
31 5
|
24天前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
41 3
|
1月前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
54 8
|
1月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
42 2
|
29天前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
37 0
|
1月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
58 2

热门文章

最新文章