SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署

SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署

Jenkins构建SpringBoot项目并远程发布

最近公司项目打算使用Jenkins自动化部署,该项目是基于spring-boot搭建的多个module。公司性质原因,只有内网,因此搭建Jenkins时遇到了一大问题——插件安装。为了安装插件煞费一番苦心,现在构建完成了,决定详细写一下Jenkins构建父项目、单个构建module并且发布远程服务器的过程。

1、准备工作

1) Linux服务器安装Jenkins、jdk_1.8、maven 3以上;
2) SVN服务器,并且代码以提交;

2、Jenkins设置

1) 解锁用户、创建用户;(这些步骤其他教程有很多,不在赘述);

2) 安装插件

项目涉及到maven、SVN和远程发布,因此Maven Integration plugin、     Publish Over SSH是必不可少的。
a.      如果是外网那很方便只要在Jenkins安装时自定义插件安装,把想装的都装上;或者后期在Manage Jenkinsà插件管理里在可选择列表里进行安装;
b.      内网会比较麻烦,要去外网下载插件,拷到内网,再在Manage Jenkins--》插件管理--》高级,页面下方“upload plugins” 进行插件上传。
插件下载地址:updates.jenkins-ci.org/download/plugins
手动上传要注意的是,插件的依赖以及上传顺序,必须是所有依赖的插件均已存在,当前插件才可以上传成功。
   总结:内网安装插件繁琐费力,因此可以现在外网安装Jenkins,把插件全都装上,然后去安装目录下找到plugins目录,打包压缩,传到内网,直接将目录里的插件解压到内网Jenkins安装路径下的plugins里(如/root/.jenkins/plugins)。

此处附上我的插件安装包,如有需要自行下载解压到Jenkins安装目录下即可。
链接:https://pan.baidu.com/s/1YseTaapaBYwiaXBBd5M8rA 
提取码:1gb4 

3) Maven和 JDK环境配置

点击下图中红圈标志,下拉即可看见JDK和Maven
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第1张图片JDK配置
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第2张图片
Maven 设置
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第3张图片

4)远程服务器配置
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第4张图片
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第5张图片

3、项目构建(SrpingBoot)

接下来说明如何从SVN获取源代码并且编译发布到指定服务器
1) 新建maven项目
首页左侧菜单栏à新疆item,出现创建页面
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第6张图片

2) 构建配置

a. 上图点击确定后出现构建页面,页面上需要设置的部分按顺序说明如下:

SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第7张图片b. 源码管理
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第8张图片
Repository URL填写SVN项目地址,如果是单个项目,即此项目路径;如果是项目架构是父项目下好几个module的情况,即使要构建的是其中一个module这个的地址也是父项目路径,要把整个项目源码都下载下来。
Credentials那里本来是没有的,点击右边的“添加”,出现下拉框,选中点击,如下图即可配置SVN用户信息
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第9张图片
c. 构建触发器
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第10张图片

日程的表达式是由5部分组成,无需指定即用 * 代替,说明如下:
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第11张图片
d. 构建环境
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第12张图片
完整脚本如下:
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第13张图片
最后启动命令中加入BUILD_ID=dontKillMe 是为了当前项目进程不被kill掉,不加的话,构建结束后,脚本启动的jar进程就被kill了,项目并没有运行。
e. 构建(Build)
下图中的Goals and options 是填写maven编译指令的。如果是单个项目或者父项目(含多个module)全构建写
clean install即可。如果是要构建父项目下的一个子模块,则按图中填写,如clean install -pl synway-projects-server
-am -amd -Pdev -Dmaven.test.skip=true,表示的是我要构建的是SVN下载的整个父项目下的synway- projects-server项目,前头不用加父级目录名称(我按照网上说的加父项目名字,会报项目找不到的异常)
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第14张图片选择构建成功再运行:
在这里插入图片描述
最后点击应用即可。
在首页可以看到构建后的项目列表
SrpingBoot(多个module)+SVN+Maven+Jenkins内网安装及自动部署_第15张图片
Name下项目名下拉有 Build
Now选项可立刻构建测试,成功或失败结果也会显示在列表中“上次成功”、“上次失败”位置,其后跟着的小数字可点击查看构建过程日志及异常。

你可能感兴趣的:(学习小结)