jenkins自动部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins自动部署相关的知识,希望对你有一定的参考价值。

 

一.说明

经过一段时间的研究与讨论(关于自动化部署及自动化运维),初步确定方案,并已经开始实施。

根据目前公司的服务器环境及系统架构,以及当前市面流行趋势,对工具的使用进行了确定,为:SVN------>Jenkins------>maven------->ansible

Svn负责代码存储,作为代码仓库;

Jenkins负责获取svn代码并将maven私服打包后的war发布到应用服务器;

Maven负责构建&打包;

Ansible负责批量管理服务器,如批量执行脚本,批量执行命令,批量管理应用等;

Ansible toweransilbe图形化管理界面,但考虑到需要收费的情况,选择其他工具;

runDeck:图形化管理,结合ansible,可以更好的进行自动化运维,批量管理;

                  以上是对于今后我们要使用的工具说明,以及对以下要说的东西的一个铺垫,避免有理解错误的情况。

 

 

二.自动部署

  1. a)    环境搭建

目前关于自动部署我们使用的是windows环境,之所以使用windows有一部分原因是连接vpn的便利性,在linux下连接vpn做过测试,连接不上ipsec/l2tp协议,可能跟ucloud本身的虚拟机有关系,为了不浪费更多的时间,还是决定在windows上搭建环境。

  1. b)   Jenkins安装及配置

官网下载jenkins安装包:

http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/windows/jenkins-2.25.zip

下载后解压安装包,运行msi文件安装;

安装完毕后会自动打开localhost:8080页面,确保本地8080端口没有被其他程序占用;

Jenkins需要java,检查服务器是否已经安装对应jenkinsjava版本;

进入jenkins界面,安装maven插件,安装deploy插件;

配置global setting

       Jdk路径:

技术分享

       Maven安装路径:

技术分享

基本的配置就差不多了,有用到其他的插件或者需要配置其他的东西,后面会说;如果想要修改jenkins的默认路径,可以在系统配置中修改:技术分享

  1. c)     配置VPN连接SVN代码库

新建vpn连接:

技术分享

技术分享

配置如图;具体方式可找徐林强找教程;

配置jenkins连接SVN代码库:

新建一个项目test

技术分享

配置svn连接地址,账户及密码:

技术分享

如果有红色报错,说明地址或者vpn连接有问题,检查vpn连通性及账户是否有svn的访问权限;

  1. d)   构建方案(MavenAnt、自由构建)

我们使用的是maven的构建方式,符合项目的现状;或者可以自由构建,包含mavenantshell等构建方式;

  1. e)    打包测试

配置完成后进行打包测试:

技术分享

显示success,则打包成功,到jenkins目录下查看:

技术分享

技术分享

可以看到war包已经成功打包到服务器jenkinsworkspace目录;下面测试自动发布;

  1. f)      自动发布测试

                     i.             脚本发布

脚本发布需要配置bat脚本,因为是windows的,由于需要经由脚本发送war包到linux系统,所以我找了一个工具,pscp:

Jenkins的配置:

技术分享

打包发布测试:

技术分享

                  ii.             Tomcatmanager发布

Tomcat manager也就是使用jenkinsdeploy插件进行发布,在构建完成后,将war包发布到远程服务器的tomcat webapps目录下,这个需要配置tomcatconf/tomcat-user.xml文件,添加tomcat manager user配置:

技术分享

发布成功后会在webapps目录下有war包,并且tomcat会自动重载war包:

技术分享

Jenkins的配置:

技术分享

War filesjenkins maven构建打包后将war包存放的目录;

Context pathwar包发布到tomcat服务器的webapps目录下面后的war包名,或者说项目名,自定义名称;

Tomcat urltomcat服务器的地址及端口,确保tomcat-user.xml文件已经配置,并且tomcat已经重启;

自动deploy war包测试:

技术分享

这里显示失败是因为war包发布到tomcat后,由于是测试环境的原因,没有相关的项目,所以war包加载失败,但是war包是成功发布到服务器上面了;

到这里,我们的自动部署就可以宣告成功了;

  1. g)    发布成功邮件通知

邮件通知根据需要进行配置;


以上是关于jenkins自动部署的主要内容,如果未能解决你的问题,请参考以下文章

自动化部署工具jenkins,从此摆脱重复单调的工作

Jenkins自动部署笔记(二)全局工具配置

如何使用jenkins部署jar包

jenkins(三)部署后台服务

jenkins实现项目自动部署

使用Jenkins 自动部署发布