利用Jenkins实现jdk11+Maven构建springboot项目

目录

  • 原理图
  • 前期准备
    • Jdk11安装
    • Jenkins安装
    • Maven安装
  • Jenkins的设置
    • 插件安装
    • 变量配置
  • 搭建项目
    • 1.通用配置
    • 2.源码管理
    • 3.构建触发
    • 4.Maven的构建选项
    • 5.构建后操作

原理图

鉴于网上很多资料一上来直接就开干了,这里我先把这几天所经历的理解化成一张图,以便后续内容更加容易理解。


由上图可以清晰的看到,只要我们再本地的Idea提交代码到GitHub远程仓库,随后Github触发一个web hook(简单来说就是一个Http请求)。随后Jenkins接收到这个请求之后,开始根据我们预先设置好的方式构建部署包。然后通过ssh推送到应用服务器部署(部署方式很多样,可以根据个人需求部署)。

前期准备

Jdk11安装

由于jenkins服务器是java语言开发的应用,这里需要先安装jdk,而我也想统一jdk的版本,这里选择使用Oracle提供的最新版jdk11。下载推荐使用迅雷下载,比一般的浏览器要快一点。

点击下载地址下载,这里使用的是jdk-11.0.6_linux-x64_bin.rpm版本,适合centos系统的安装。上传到你的jenkins服务器,使用安装命令完成。

rpm -ih jdk-11.0.6_linux-x64_bin.rpm

Jenkins安装

点击下载地址下载安装包。同样使用以下安装命令完成安装。

rpm -ih jenkins-2.204.2-1.1.noarch.rpm

启动jenkins。

systemctl start jenkins

提示:使用jdk11可能会出现如下的提示:

AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava.awt.headless=true"

实际上这个选项已经启用了,只是jdk11把awt的组件去除了,所以需要安装这一部分组件中。执行一下命令即可:

yum install java-1.7.0-openjdk urw-fonts

Maven安装

由于我的项目是基于Maven的SpringBoot项目,所以需要以Maven构建一个部署包,这里顺便安装一下。

点击下载地址下载。

解压压缩包,我把maven放在目录/opt/maven中,具体的环境变量设计请自行百度,这里的安装目录和后续配置有关,所以我提了一下。

Jenkins的设置

jenkins默认在8080端口部署,所以打开浏览器页面就能进入页面。进入页面后需要输入一个原始的admin密码,根据提示找到密码输入,后面可以自己设置一个帐号密码。

接下来就会有一个推荐插件安装的页面。我个人推荐直接跳过这个步骤,因为在内地的网络环境安装会非常的卡,同时很有可能会把程序给卡崩溃,这个后面会提到解决方法。

之后进入就可以看到如下界面。

插件安装

进入Manage Jenkins => Manage Plugins =>Available 查找自己想要的插件。这里推荐几款这次教程需要的插件:

1.Localization: Chinese (Simplified)

中文翻译包,想看英文的可以跳过。

2.GitHub plugin、GitHub Integration Plugin

GitHub相关。

3.Maven Integration plugin

Maven相关。

4.Publish Over SSH

Maven生成的Jar包,通过这个插件进行推送,并执行应用服务器的脚本。

插件安装系列问题:

(1)速度慢,经常失败。

更改插件镜像的地址,在Advance选项下面,Update Site这里填写相应的URL地址。这个需要自行百度查找哪个提供的插件镜像较快,个人推荐一个:http://mirror.xmission.com/jenkins/updates/update-center.json。这个同时需要一点耐心去完成,因为在内地的网络无论你用哪个都不会快。而我用香港的服务器都是5s之内就能完成

(2)插件安装提示有依赖插件没有更新或安装

这个按照提示去找对应的依赖插件即可,同时有的插件完成安装后需要重启jenkins,所以准备时间会比较繁琐一点。

变量配置

1.全局工具配置

这里以jdk为例,其它的git、和maven以同样的方式处理,如果没安装,自行百度安装。

如下图所示,取消勾选自动安装,然后JAVA_HOME就是你Jenkins服务器的JAVA_HOME路径,可以使用which java这个命令查找路径。

2.系统配置

(1)Publish over SSH

点击add server添加一个远程的应用服务器。我的如下图所示

name:一个名字,自己随意填写。

HostName:应用服务器地址,可以是ip地址,也可以是一个域名。

Username:应用服务器的用户,这里生产环境最好不用root,我就随意了。

Remote Directory:应用服务器的访问目录,请确定你的用户有该目录的操作权限

Password:勾选上面的选择框,然后输入你的密码即可。当然这里也有其它验证方式, 具体自己找一下。

拉到底下,还有一个测试按钮,可以测试自己的配置是否成功。

3.凭证配置

点击 :

输入你的GitHub帐号密码,这里是用于后面的GitHub仓库代码的拉取,后面其它需要用到凭证的地方也可以以同样的方式添加。

搭建项目

jenkins的配置已经初步完成,我本文的例子是使用Maven来构建的SpringBoot项目。所以接下来先创建一个Maven项目。输入名字即可创建完成,接下来就是项目的配置了。

1.通用配置

General配置可以不配置,但这里我选择勾选上丢弃旧的构建,防止构建的jar包挤满硬盘空间。详情如图所示。

2.源码管理

这里我选用的是Git管理,配置如下所示:

3.构建触发

顾名思义,jenkins会根据这里的配置选择在什么时候构建的你项目。这里你可以先选择跳过,先自己手动构建,后续我会讲述利用GitHub的web hook触发构建。

4.Maven的构建选项

如上图所示,这里要确定的是你的pom.xml的位置、执行的命令。另外,可以在高级选项那里跳过测试环节,不过这不是一种推荐的做法,测试还是很重要的。

5.构建后操作

jenkins在构建完成后,会根据这里的配置执行相关操作。就如一开始的那张图片一样,这里的流程是:把jar包发送到应用服务器,执行启动脚本

服务器我们之前已经配置好了,现在解释一下Transfer里面的字段含义。

Source files:要发送的文件,这里我们只需要把生成的jar发送过去即可。路径匹配和可以参考linux命令。

Remove prefix:目前还没弄清具体含义。

Remote directory:将文件放在应用服务器的该目录下,需要注意的是:这里的路径是基于前面的ssh server路径配置的。例如:前面的路径配置了/usr/local/,而这里配置了project/temp/。那么文件的完整路径应该是:/usr/local/project/temp/*.jar

Exec command:应用服务器中的启动脚本路径,可以根据自己的喜好放置。同时我不太懂shell编程,写了一个参考版的启动脚本,看看就好。

#!/bin/sh
PROJECT_DIR="/usr/local/project/"
#删除当前已启动的旧项目,只适用于只有一个java项目的时候
proName="java"
echo "${proName}"
PID=$(ps -e|grep ${proName}|awk '{printf $1}')
echo "$PID"
if [ $? -eq 0 ]; then
    echo "process id:$PID"
else
    echo "process ${proName} not exit"
    exit
fi
kill $PID
#删除已存在与project目录的jar包
rm -f ${PROJECT_DIR}counsel*.jar
#复制新的jar到当前路径
mv ${PROJECT_DIR}temp/counsel*.jar ${PROJECT_DIR}
#启动新的项目
nohup java -jar ${PROJECT_DIR}counsel*.jar >${PROJECT_DIR}output

配置完成,点击保存即可,可以尝试先手动构建一次,如果成功了,就可以继续接下来的自动化构建。

自动化构建的文章下次再更新。

原文地址:https://www.cnblogs.com/hill1126/p/12305549.html

时间: 2024-10-08 10:54:15

利用Jenkins实现jdk11+Maven构建springboot项目的相关文章

利用Eclipse中的Maven构建Web项目(一)

利用Eclipse中的Maven构建Web项目 1.新建一个Maven Project,"New-->Other..." 2.选择"Maven Project" 3.选择项目路径 Usedefault Workspace location默认工作空间, 选择项目类型 在Artifact Id中选择maven-archetype-webapp 4.分别输入Group Id.Artifact Id和Package,单击"Finish" 5.Ma

利用Eclipse中的Maven构建Web项目(二)

利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/java   src/main/resources  src/test/java  src/test/resources四个源包 3.双击每个文件夹的Output folder,选择路径 src/main/java和src/main/resources,选择路径target/classes; src/test

利用Eclipse中的Maven构建Web项目(三)

利用Eclipse中的Maven构建Web项目 1.将Maven Project转换成动态Web项目,鼠标右键项目,输入"Project Facets" 2.根据Dynamic Web Module的版本修改Java Compiler中的"Compiler compliance level"的版本 3.设置部署程序集(Web Deployment Assembly),删除含有"test" 4.将Maven的jar包发布到lib下, "A

利用Eclipse中的Maven构建Web项目报错

利用Eclipse中的Maven构建Web项目 1.在进行上述操作时,pom.xml一直报错 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o

利用Eclipse中的Maven构建Web项目报错(二)

利用Eclipse中的Maven构建Web项目 1.错误描写叙述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1 [INFO] [INFO] ---------------------------------

使用maven构建web项目

maven安装 1) 下载Maven:http://maven.apache.org/download.html 2) 解压缩下载的zip文件到本地目录下,比如:D:\Maven 3) 添加D:\Maven\bin到环境变量PATH中 4) 在命令行下运行mvn -version  或者 mvn –v查看是否安装成功 5) 安装eclipse插件 Eclipse Marketplace中搜索Maven Integration for Eclipse WTP并下载 为了使得Eclipse中安装的M

使用Maven构建Android项目

http://www.ikoding.com/build-android-project-with-maven/ 之前一直在做WEB前端项目,前段时间接手第一个Android项目,拿到代码之后,先试着run起来再说,导入eclipse,一堆错误,设置classpath依赖,折腾半天,还是编译错误,于是联系项目接口人,得知他有一个Android库项目没有提交到SVN,晕... 对于习惯使用Maven管理Java项目的我来说,自然想到能否用Maven构建Android项目呢?于是开始Google.百

SpringBoot入门基础:构建SpringBoot项目及启动器讲解(二)

一. 使用Spring开发一个"HelloWorld"的web应用 创建一个web项目并且导入相关的jar包.SpringMVC Servlet 创建一个web.xml 编写一个控制类(Controller) 需要一个部署web应用的服务器,如tomcat 二. SpringBoot特点 SpringBoot设计目的是用来简化新Spring应用的初始搭建以及开发过程 嵌入的tomcat,无需部署war文件 SpringBoot并不是对Spring功能上的增强,而是提供了一种快速使用Sp

Eclipse使用Maven构建web项目

Eclipse使用Maven构建web项目 博客分类: J2EE 1.创建Maven项目: 点击“File”菜单,或者通过工具栏的“New”创建Project,如下图所示: 选择Maven->Maven Project,弹出向导对话框,如下图所示: 选中Create a simple project……复选框,其它的设置不变,并点击Next,输入maven项目必须的信息(groupId,artifactid,version),如下图所示: 这里需要选择Packaging,web项目一般选择war