因今年公司新产品线较多,为了下降耦合,达到业务分离、重用,提升内部开发效率的目的,采用了基于服务组件、先后端分离的架构体系。与以前传统单应用架构相比,系统部署、配置更加复杂,为了可以频繁地将软件的最新版本,及时、持续地交付给测试团队及质量控制团队,以供评审,因此引入持续集成工具Jenkins,从而实现公司新产品持续集成,自动化部署。html
运行下载好的Jenkins安装包jenkins.msi,选择安装路径,点击”安装“,等待安装完成;web
安装完成之后,会自动启动浏览器,跳转到Jenkins登陆页面。第一次启动Jenkins,出于安全考虑,Jenkins会生产一个随机口令文件,表单中会给出管理员口令文件存放的位置,经过Windows+R,调出运行窗口,将存放口令的文件路径粘贴到输入框,点击回车,快速打开文件,将文件中的口令输入到表单中,点“Continue”继续;shell
安装Jenkins官方建议的默认插件;apache
建立第一个管理员用户,建立完成之后,就能够用这个用户登陆到Jenkins系统中。windows
下面介绍实际部署中所用到的几个插件,安装方法:系统管理->管理插件。后端
注意:因插件安装之后,须要重启Jenkins才可以使用。因此在安装插件时,能够勾选安装完成后重启Jenkins。若是不当心忘记勾选,也没有关系,能够在浏览器网址端口后面输入/restart来重启Jenkins,其它的命令,可参考系统管理->Jenkins CLI。浏览器
插件安装完成之后,咱们须要对系统进行配置。tomcat
Jenkins URL项保持默认便可,填写系统管理员邮件地址。(注意:这个若是不填写的是发送不了邮件的,测试邮件发送时会报:“553 Mail from must equal authorized user”错误。)安全
填写“SMTP服务器”、“用户默认邮件后缀”,而后点“高级”,勾选“使用SMTP认证”,填写邮箱用户名、密码和SMTP端口,接着勾选“经过发送测试邮件测试配置”,填写接收邮件的邮箱,点击“测试”,出现“Email was successfully sent”代表邮件通知配置成功。服务器
SSH远程主机配置,主要用来经过SSH方式远程发布,在后面的章节会详细介绍。
主要是用来经过SSH方式远程发布,在后面的章节会详细介绍。
配置Maven主要是配置Maven的settings.xml文件,Jenkins在构建Maven项目时须要依靠该配置文件来执行Maven,其配置以下:
新建一个Maven项目
Jenkins提供了6中构建触发器,分别是:
调用Maven “clean install”命令。
因在Windows环境下部署,因此选择Execute Windows batch command。
自动部署的思路:设置全局变量(项目名称,构建新包路径,配置文件路径,Tomcat路径等)->关闭Tomcat->删除Tomcat中旧版本包->拷贝新包到Tomcat应用目录->启动Tomcat(解压包)->关闭Tomcat->替换配置文件->删除War包->启动Tomcat,本身写的脚本代码以下:
@echo off rem 设置全局变量 set prj_name=estate set package_path=D:\AutoDeployment\Package set config_path=D:\AutoDeployment\config set command_path=D:\AutoDeployment\command set tomcat_home=D:\tomcat\apache-tomcat-7.0.59 set startup_command=%tomcat_home%\bin\startup.bat set shutdown_command=%tomcat_home%\bin\shutdown.bat rem 关闭tomcat call %shutdown_command% rem 暂停10s ping -n 10 127.0.0.1 rem 删除旧包目录 rd /s /q %tomcat_home%\webapps\%prj_name% rem 新包重命名 d: cd D:\AutoDeployment\Package\estate ren register-web.war %prj_name%.war rem 拷贝新包到发布目录 copy %prj_name%.war %tomcat_home%\webapps rem 启动tomcat call %startup_command% rem 暂停10s ping -n 10 127.0.0.1 rem 关闭tomcat call %shutdown_command% rem 删除war包 rd /s /q %tomcat_home%\webapps\%prj_name%.war rem 替换配置文件 copy %config_path%\%prj_name% %tomcat_home%\webapps\%prj_name%\WEB-INF\classes rem 启动tomcat call %startup_command% rem 关闭窗口 exit
点击“当即”构建,maven 打包成功,执行脚本无误之后,整个自动化部署就成功了。
按照以上步骤,能够成功完成自动化部署环境搭建。网上不少教程,在“构建后步骤”这一步直接贴出Execute shell,且未说明是在什么操做系统环境下,注意直接拿来用在Windows环境下面是不行的。Jenkins软件帮助功能作的很是强大,在每一项配置后面,都会有一个帮助菜单,因此当你不肯定该项如何填写时,这个菜单是最好的参考工具。后面我将会继续介绍经过SSH远程发布以及Jenkins与SonarQube(开源代码质量管理系统)集成,欢迎一块儿交流学习。