橙小张的Java后端学习之路技术干货

Jenkins Maven Git SpringBoot Jar

2017-03-19  本文已影响533人  橙小张
Paste_Image.png

一、前言

公司一直使用的是Java语言进行开发,自然而然逐渐的使用SpringBoot替代原来的框架,特别是对于现在的spring cloud微服务来说,一个项目由多个小项目组成,每个小项目都独立部署,使用jenkins是最好的部署和管理工具了。

Paste_Image.png

Jenkins大概就这么工作:

二、安装

Paste_Image.png Paste_Image.png Paste_Image.png

三、配置

此处省略jdk(请注意服务器上需要安装jdk,而不是jre)、maven、git的安装

1、系统配置

在系统管理中找到Global Tool Configurations,其中包含jdk、git、maven等工具的配置

Paste_Image.png Paste_Image.png Paste_Image.png

注意: 请勾掉自动安装,自己手动安装以上工具后再进行配置

三、新建项目

这里我们选择创建Maven项目:

Paste_Image.png

如果在源码管理中出现如下红色代码,说明是本机的用户没有配置Git用户授权

Paste_Image.png

这里使用了Git作为源码管理工具,先配置SSH Key,在Jenkins的证书管理中添加SSH。在Jenkins管理页面,选择“Credentials”,然后选择“Global credentials (unrestricted)”,点击“Add Credentials”,如下图所示,我们填写自己的SSH信息,然后点击“Save”,这样就把SSH添加到Jenkins的全局域中去了。

Paste_Image.png

备注:Passphrase这里不用填值,这是自动生成的。
如何配置Git ssh解决上述ssh key问题,可参考以下教程链接
http://www.linuxidc.com/Linux/2014-10/108080.htm

配置成功后选择配置的用户,就发现已经没有红色的提示,说明ssh key配置成功了


Paste_Image.png

1、构建

Paste_Image.png

备注:这里的Root Pom指的是根目录下的Pom文件

如果是图一结构,Root Pom为:pom.xml

Paste_Image.png

如果为图二结构,Root Pom为:project_A/pom.xml

Paste_Image.png

2、授权服务器

打开jenkins首页,点击系统管理--系统设置,下拉找到找到publish over ssh,进行以下设置(请确保前面的步骤中publish over ssh插件已经安装成功,如果没有发现,那就是还没有安装成功,请返回去安装)。

Paste_Image.png

3、部署Jar包

进入上面的已经创建好的jenkinsWeb项目,点击配置,下拉找到Post Steps进行配置。

1、点击

Paste_Image.png

如果没找到这项,证明publish over ssh没有安装成功。

2、接着进行下图配置

Paste_Image.png

参数说明:

Transfer SetSource files:表示要上传的本地的jar包及路径,可到工作空间去看。

Remove prefix:表示要上传时要去除的文件夹,即只上传jar包。

remote driectory:即表示执行时的路径,相当于把jar包上传到这里了。

exec commad:要执行的命令脚本。

构建脚本

# 将应用停止
#stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep search-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
#replace.sh 用于将上次构建的结果备份,然后将新的构建结果移动到合适的位置
#!/bin/bash
# 先判断文件是否存在,如果存在,则备份
file="/home/app/mall-search/search-1.0-SNAPSHOT.jar"
if [ -f "$file" ]
then
   mv /home/app/mall-search/search-1.0-SNAPSHOT.jar /home/app/mall-search/backup/search-1.0-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
mv /home/app/deploy/search-1.0-SNAPSHOT.jar /home/app/mall-search/search-1.0-SNAPSHOT.jar
# startup.sh 启动项目
#!/bin/sh
export JAVA_HOME=/home/shopin/jdk1.8.0_121
echo ${JAVA_HOME}
echo "授予当前用户权限"
chmod 777 /home/shopin/mall-search/search-1.0-SNAPSHOT.jar
echo "执行....."
cd /home/shopin/mall-search/
nohup ${JAVA_HOME}/bin/java -jar search-1.0-SNAPSHOT.jar > /dev/null &
echo "启动成功..."

这样就可以将jar包打到远程服务器了

Paste_Image.png

4、部署War包容器(tomcat)中

Paste_Image.png

如果容器是tomcat,就需要在tomcat配置相应的用户名和密码:

Paste_Image.png

以上就是Jenkins for SpringBoot,同样也可以发布到tomcat

上一篇 下一篇

猜你喜欢

热点阅读