首页 > 其他分享 >Jenkins 自动部署 SpringBoot

Jenkins 自动部署 SpringBoot

时间:2023-05-20 16:12:19浏览次数:45  
标签:java SpringBoot 部署 配置 jenkins HOME Jenkins JAVA

Jenkins是流行的CI/DI工具。什么是CI/DI呢?CI/CD 的核心概念可以总结为三点:

  • 持续集成
  • 持续交付
  • 持续部署

简单来说就是将不同代码的分支合并到主分支,并自动进行打包,编译,测试,部署到生产环境的交付流程。

 

在这里用阿里云主机演示Jenkins自动部署SpringBoot项目。可以到阿里云官网免费试用云主机。创建主机后,点击实例id
 

选中实例后,选择安全组配置外网访问规则,在这里放开所有端口:
 

1、选择安全组列表;2、点击配置规则

配置规则如下:

如果不配置端口的访问规则,则外网不能访问对应的端口。

 

Jenkins的下载地址是https://www.jenkins.io/download/,登录到云主机后,运行wget https://get.jenkins.io/war-stable/2.387.3/jenkins.war下载war包,下载完后运行java -jar jenkins.war --httpPort=8080启动jenkins,--httpPort指定运行端口。访问ip:8080,看到:

 

我已经安装了中文插件,第一次访问看到的是英文。根据生成的密码解锁Jenkins,安装推荐插件,之后创建用户,刷新页面,重新登录Jenkins即可。

 

启动成功之后,接下来安装三个必要的插件:

  1. Maven Integration:Maven 构建工具
  2. Publish Over SSH:整个工具,将来把 Jenkins 打包好的 jar 上传到应用服务器上。
  3. Gitee:协助使用 Gitee 仓库。

安装位置如下:

按照上面步骤安装三个插件后重启Jenkins。

安装java并配置JAVA_HOME

yum install -y java-11-openjdk

安装jdk11。安装目录在/usr/lib/jvm。进入安装目录确定jdk11使用的目录。这里是java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64。运行vi /etc/profile配置JAVA_HOME:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

在运行source /etc/profile使配置生效。运行java -version查看java配置是否生效及java版本。

 

安装MAVEN

运行wget https://dlcdn.apache.org/maven/maven-3/3.9.2/binaries/apache-maven-3.9.2-bin.tar.gz获取maven解压后即可。

jenkins配置jdk和maven

进入全局工具配置:

配置java。

配置git。记得在云主机执行 yum install git安装git。

配置mavem HOME。

配置主机和gitee

找到 Publish over SSH并配置SSH Servers:

填写主机ip,用户名和密码。这里是公网ip,就不写出来了。

my-test是简单的SpringBoot项目。点击添加 > Jenkins添加gitee的用户名和密码:

新建任务

选择MAVEN项目并填写项目名。点击确定后,选择gitee 仓库地址:

添加时间:

输入构建命令:

最后,配置上传构建好的文件,并执行启动命令,如下:

配置详情如下:

 
用root账号登录云主机后,建立/opt/data文件夹,并添加文件deploy.sh:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH

JAR_PATH=/root/data

JARFILE=my-test-0.0.1-SNAPSHOT.jar

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

java -jar $JAR_PATH/$JARFILE > out.log &
if [ $? = 0 ];then
        sleep 30
        tail -n 50 out.log
fi

配置java HOME。之后检查jar是否已经启动,启动则关闭。再重新启动jar。可以打开SSH操作日志:

点击应用和保存后,点击立即构建:

查看构建详情:

看到:

就成功了。也可以在这里看到出错日志。

访问http://你的公网ip:端口/路径,就可看到输出了。

自动构建

现在项目还不是自动构建,提交代码后不会自动构建。



复制上面的url配置到Webhook中。接下来在 Gitee 的项目中,配置 WebHook,在当前项目中,选择管理选项卡,左边菜单点击 WebHooks,然后点击添加 WebHook。

点击测试,看大push_hooks ref = refs/heads/master commit sha = c912ef246f03a842f6d2656018dffcf86c873111 has been accepted.即可。

格式是:http://jenkins用户名:jenkings密码@你的公网ip:jenkins端口/xxxx

 
现在提交代码,等几秒,可以看到Jenkins自动构建。

 
 

参考:https://blog.csdn.net/u012702547/article/details/126156584

标签:java,SpringBoot,部署,配置,jenkins,HOME,Jenkins,JAVA
From: https://www.cnblogs.com/shigongp/p/17417181.html

相关文章

  • 什么是springboot&什么是spring
    1.什么是springbootspringboot是一个基于spring的开发框架,旨在简化sping应用的初始配置和开发过程。Springboot集成了对大部分目前流行的开发框架,使得开发者能够快速搭建spring项目。Springboot的核心设计思想是“约定优于配置”,基于这一原则,springboot极大地简化了项目和框架地......
  • springboot基于vue的MOBA类游戏攻略分享平台、游戏资讯分享平台,附源码+数据库+lw文档+
    1、项目介绍任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了MOBA类游戏攻略分享平台。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括系统首......
  • LLM探索:环境搭建与模型本地部署
    前言最近一直在炼丹(搞AIGC这块),突然发现业务代码都索然无味了…上次发了篇AI画图的文章,ChatGPT虽然没法自己部署,但现在开源的LLM还是不少的,只要有一块差不多的显卡,要搞个LLM本地部署还是没问题的。本文将介绍这以下两个国产开源LLM的本地部署ChatGLM-6BMOSS本文先简单的把......
  • wgcloud安装部署需要什么环境
    首先WGCLOUD监控系统可以部署到Linux,也可以部署到Windows上不管是部署到Linux,还是Winodws,它依赖的环境组件都一样的1、server所在主机需要JDK1.8环境(JDK11也可以),OpenJDK也可以的,更高版本JDK也支持,但推荐JDK1.8或112、server还需要数据库来存贮数据支持MySQL、MariaDB、PostgreSQL、......
  • 云原生之使用docker部署TestLink测试平台
    (云原生之使用docker部署TestLink测试平台)一、TestLink介绍TestLink是基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。二、TestLink的特点测试需求管理测试用例管理测试用例对测试需求的覆盖管理测试计划的制......
  • jenkins
    教程https://blog.csdn.net/rick_xk/article/details/129555543最新war包下载地址https://www.jenkins.io/zh/doc/book/installing/http://mirrors.jenkins.io/war-stable/latest/jenkins.warjdk-11.0.1下载wgethttps://repo.huaweicloud.com/openjdk/11.0.1/openjdk-11.0.......
  • 前端如何将项目部署到服务器(Nginx)
    一、准备环境1、服务器或者虚拟机(后端已经搭建好的,这里就不讲述如何搭建服务器了)2、Xshell和Xftp-->存放静态文件和操作服务器3、Windows系统Xshell:是一个强大的安全终端模拟软件,可以在Windows界面下用来访问远端不同系统下的服务器。(作用就是用来连接远程服务器的)Xftp:是一......
  • springboot异常处理
    在SpringBoot中,我们可以使用@ControllerAdvice和@ExceptionHandler来处理系统错误异常。下面是一个简单的例子:@ControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(Exception.class)publicResponseEntity<String>handleException(Exceptione......
  • 【ambari 2.7】一键docker部署脚本
    仓库地址#首次创建和启动集群容器shapp.shcreate#启动容器shapp.shstart#停止容器shapp.shstop步骤注意点:软件源地址:http://172.188.0.2/HDP/centos8/3.3.1.0-002/http://172.188.0.2/HDP-UTILS/centos7/1.1.0.22/主机名称和server机器的私钥amb-server.......
  • java基于springboot+vue的漫画网站管理系统,附源码+数据库+lw文档+PPT,适合毕业设计、课
    1、项目介绍考虑到实际生活中在漫画网站方面的需要以及对该系统认真的分析,将系统权限按管理员和用户这两类涉及用户划分。(a)管理员;管理员使用本系统涉到的功能主要有:首页、个人中心、用户管理、漫画分类管理、漫画投稿管理、分类管理、排行榜管理、交流论坛、系统管理等功能......