用于持续集成和自动化部署持续集成和自动化部署工具持续部署[CD]**单元测试是不够的,每个模块都必须能够在服务器上运行;**重点是项目功能(各模块)部署到服务器后可以运行,供测试链接或最终用户使用做准备;持续集成[CI]**定期频繁地将所有模块集成在一起进行测试[集成测试],尽快发现问题;**重点是尽快发现项目整体运营问题,并尽快解决;持续交付[CD]**使用小版本不断快速迭代,不断收集用户反馈信息,以最快的速度进行改进和优化;[大版本/发布]**关注研发团队的最新代码,尽快让终端用户体验;总体目标**好处:***1。降低风险;***2。减少重复流程[如编译、测试、打包等固定流程]——自动化流程;***3。随时随地,生成“可部署软件”;***4。提升项目知名度<1>有效决策;<2>注意趋势;***5。建立团队开发产品的信心;詹金斯<打开>|Hudson**必备知识:Linux基本命令|vim编辑器|Maven项目构建管理|Github|SVN**可集成Github或Subversion**手动部署**自动部署***搭建持续集成环境:是Automate构建部署减少工作量>部署web容器插件+>***dev>git仓库>hook程序>jenkins>[GIT插件]>代码>打包>war包>部署>tomcat服务器>[Maven插件]>+>Jenkins:###Jenkins+SVN:**要点:***创建虚拟机安装Linux系统:vm1-svn,vm2-jenkins,vm3-application(tomcat);***版本控制子系统(SVN):-颠覆服务器;-项目对应的仓库;-存储库中的挂钩程序;--linuxcurl命令:-X:指定请求方式;-v:显示响应结果;-u:携带用户名/密码;-H:携带请求消息头信息;***持续集成子系统——JDK;-雄猫;-马文;-詹金斯:——主程序;--svn插件;--maven插件;--部署到Web容器插件;***应用发布子系统——JDK;-雄猫;###Jenkins+Github:**重点:***Jenkins需要部署到外网,因为Github无法访问内网地址;-安装詹金斯;***Jenkins所在主机需要安装GIT,从GitHub上gitclone代码;-echo"exportPATH=$PATH:/usr/local/git/bin">>/etc/bashrc#>>Append-source/etc/bashrc#使文件生效***Jenkins需要指定位置git程序,类似于指定jdk和maven程序的位置;-配置git;***使用GitHub上各个仓库的webhook方法远程触发Jenkins构建;-GitHub配置webhook[repository>settings>webhook>addwebhook>authtokentriggeredremotely]***在Jenkins中禁用“防止跨站请求伪造”;-全局安全配置>CSRF保护>取消勾选;