Jenkins对springboot项目的自动部署及自动启动的全过程方法记录

前言:

        这几天一直在研究Jenkins的自动部署,遇到了很多坑,而且网上也没有一个完整的部署教程,所以在研究完成并部署到服务器上之前,我打算把整个部署过程做一个记录,方便日后使用,也能让后面需要研究jenkins的同行们少走弯路。

        以下先说明一下本文将讲解的内容所针对的场景,若是阅读者并非在以下场景中使用,可以考虑不继续阅读本文。

        1、本文中针对的是SpringBoot项目;

        2、本文使用的是maven工具来管理包的;

        3、本文的项目最终会打成war包,放入tomcat中运行,而不是打成jar包;

        4、本文最终会将tomcat注册为系统服务,并以启动/关闭系统服务的方式,来完成tomcat的重启;

        5、本文中使用的是windows系统。

 

正文:

        接下来,我会一步一步的开始安装Jenkins服务,并部署一个自己的项目,所有操作步骤都会一一记录下来。

        1、安装Jenkins。

                我所使用的Jenkins版本是2.149版本,为了保证不会因为版本问题而导致阅读者无法正常部署,我将安装包上传到了CSDN上,并设置了需要1积分(最低设置1积分,没办法,而且以后如果有人下载,可能会涨,这是CSDN自己涨的,上传者无法控制,我很多要求1积分的文件都涨到5积分了),大家可以直接下载,也可以去官方或者其他地方下载相同版本。当然,也可以尝试其他版本的Jenkins,相信问题应该不大。安装过程就不多说了,就是普通的下一步,选择安装目录就行了。安装好后,Jenkins会自动将自己注册为系统服务并自动启动。要注意的是,Jenkins默认占用8080端口,所以大家如果不想被占用8080端口的话,请修改Jenkins的配置文件,位于Jenkins安装目录下的jenkins.xml文件中,41行的arguments配置中,将8080改为你需要的端口就行了,我这里设置的是8999,见下图。保存之后,在服务中重启或启动(如果8080端口已被占用,Jenkins安装好后的默认启动就会失败,所以此时就是需要启动,而不是重启)。我上传的文件下载地址为:https://download.csdn.net/download/qq_35478599/10771769

        2、Jenkins的基础配置

                Jenkins启动完成了,接下来我们访问http://localhost:8999,会进入这样一个页面:

                从页面中我们可以看见,在红色文字现实的路径中,有默认的管理员密码,我们需要输入这个密码来完成初始化,我们用文本打开这个文件后,得到这个密码,放入页面的输入框中,点击右下角的Continue。

                接下来,我们会进入插件选择页面,此时我们可以选择推荐的默认插件,也可以自己选择插件,我们选择默认插件就好了,也就是左边一项:

                接下来可以看见有一些插件正在安装,等他们全部安装好后就可以了。根据网上的有些文章说,安装插件时可能有部分失败(我没失败过,不清楚细节),点击重试就行了,直到全部安装完成。安装完成后会自动进入注册管理员的页面,很奇怪的是刚才页面的图上传失败了,我又已经点了下一步,所以没办法截图,但不影响,直接填写账号密码邮箱,点击保存就是了。

                注册完成后,我们会进入一个修改url的页面,根据说明中的建议,我们什么也不要改,直接保存并完成,然后点击开始使用。

        3、安装插件

                此时我们已经进入了Jenkins的主页,但是不要着急创建项目,我们还需要安装几个插件。我们先进入插件管理页面,如下图:

                然后选择Available选项卡在这里面可以找到我们需要的插件。

               

               我们需要的插件是Maven Integration plugin插件,是用于管理maven项目的插件,在右上角的搜索框中输入Maven Integration(注意没有后面的plugin),点击回车,即可看见上面的连个插件,选择图中红框的插件,在左边勾选,并点击左下角的Install without restart按钮即可安装。

               安装时,请勾选最下饭的安装完后重启服务的选项,这样一来在安装完成后就会自动重启Jenkins服务,使得插件生效。

               需要注意的是,有时候会在安装插件的页面一直卡着,这是很可能已经更新完了,但是因为某些原因导致没有刷新状态。若等待时间过长(比如10分钟)还没反应,可以刷新页面,或重启服务,然后去已安装插件的列表找找看有没有这个插件,有的话就说明安装好了,安装好后需要重启服务。

        4、配置maven的settings.xml

                进入系统管理的全局工具配置页面,将红框中的两项都改为从系统中选择settings,并填写settings的路径,然后保存即可。这里有的读者可能会使用默认的maven设置,因为我没使用过这种方式,所以不知道效果如何。

        5、创建项目

               在首页,点击New 任务,然后点击构建一个自由风格的项目,并输入项目名,点击左下角的OK按钮,项目即创建完成,并立即进入项目的配置页面。

                如果你已经创建好了项目,之后想要重新修改项目配置,可以在主页进行如下操作:

        6、项目配置

                项目创建好后,会直接进入配置页面。

                首先,需要配置项目对应的svn地址,如下图。需要注意的是,我们需要新建一个key(包含账号密码),用于充当svn链接时的账号密码。

                只需要填写上图红框中的两项即可,其他的默认。

                然后我们需要配置编译项,首先增加一个maven顶层目标,里面填写clean install。

                然后可以添加一个调用window批处理命令,填写:
del E:\apache-tomcat-8.5.20\webapps\cg.war
xcopy CodeGenerate\target\cg.war E:\apache-tomcat-8.5.20\webapps\
@ping 127.0.0.1 -n 10 >nul
sc stop test_tomcat
@ping 127.0.0.1 -n 10 >nul
sc start test_tomcat

需要注意,上文中的内容意思是:
删除E:\apache-tomcat-8.5.20\webapps\cg.war,这是删除tomcat中原本的项目war包。
copy打包好的war文件到tomcat中。需要注意,这里的源文件路径是相对于“工作空间/项目名”开始的,具体细节后面构建项目后会给大家看截图,就一目了然了。

等待10秒。

停止tomcat服务。

等待10秒(此处的等待及其重要)。

启动tomcat服务。

                到此,项目配置完成,将点击保存即可。

        7、将tomcat注册成系统服务

                本文最核心的部分就是自动重启应用了,原本网上有方法说使用Deoloy to container插件可以自动针对tomcat进行发包和启动,但是本人配置后发现没有效果,弄了半天最终放弃这一方式了。之后经过不断尝试研究,最终找到这个方式并确认可用。

                tomcat本身自带将自己注册为系统服务的方法,我们需要的就是进入tomcat的bin目录,然偶执行cmd指令“service.bat install test_tomcat”,test_tomcat就是你要注册进系统的服务名。

        8、构建项目

                一切准备就绪后,就可以构建项目试试了,我们在主页的项目列表里点击立即构建,则可以看到左下角的进程,已经开始构建了

               构建后,我发现出错了,如下图:

               反复确认后,我本地的mvn是可以用的,直接在控制台中也可以正常调用,但是在jenkins就是无法执行。因为我目前用于测试的这个项目使用了大量maven仓库不存在的jar,为了避免其他因素导致的问题,我创建了一个新的项目用于测试。这个项目的配置方式和之前是一样的,只是这个项目里只有很简单的一段代码,只是用了springboot组件,去掉了其他额外组件。

               而构建结果并不乐观,依旧报了相同的错误。在反复研究后,并未找到解决办法,最后只能靠猜测。我之前在本机研究jenkins时,装载了几个插件,而本次部署并未装载,猜测是不是有必要插件未安装呢,于是我对比两个jenkins安装的插件,并将我认为可能有影响的插件按照我的猜测顺序,一个个安装。

               首先安装的是SSH插件:

               结果运气非常好的,一次成功!所以大家在安装插件时别忘了还要安装SSH插件哦!下面是执行成功的输出:

               接下来,我们访问tomcat的地址,发现已经可以访问到我们的项目了。

               至此,整个jenkins自动化部署全部结束,需要注意的是,jenkins所在的服务器一定要安装了maven服务才能编译maven,maven服务的安装方式很简答, 下载好压缩文件包,解压后配置环境变量就可以了,具体方法百度一大堆,就不在本文中赘述了。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页