1,Jenkins概念
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成以及自动化部署工具。(持续集成,持续交付,持续部署)
Jenkins的前身是Hudson,2009年,甲骨文收购Sun并继承了Hudson代码库,2011年年初,甲骨文和开源社区关系破裂,该项目分为两个独立的项目:
- Hudson:由甲骨文继续管理
- Jenkins:由大部分原始人员组成管理
2,传统手动部署项目步骤
a.开发人员在自己的工作区提交代码到代码库
b.项目管理者从代码库检出源码
c.再对源码进行打包
d.最后部署到服务器上。
缺点:如果检出、打包、部署频繁发生时,较为繁琐。
3,Jenkins+SVN+Maven自动化部署项目步骤
a.开发人员在自己的工作区提交代码到代码库
b.代码库自动触发我们编写的钩子程序
c.钩子程序自动通知Jenkins
d.Jenkins先调用Git或SVN插件获取最新代码,再调用Maven插件进行打包,最后调用Deploy to web Container插件把war包部署到应用服务器上。
优点:只要代码库提交新版本,就会自动获取源码,自动打包,自动部署到服务器,用户立刻就能使用最新的应用程序。