以前对Jenkins管理SVN源码的逻辑不太清楚,简单研究了一下。对于通常的开发一般会有如下三个环境:web
一、svn服务器shell
二、Jenkins服务器服务器
三、开发服务器(部署测试版web应用或者其余应用)ssh
固然以上三者也能够在同一个服务器上,只是不一样的工做目录maven
简要阐述一下Jenkins的工做原理:svn
a,首先更新svn上面的源代码或其余文件到Jenkins指定的工做区间测试
b,在Jenkins工做区作必定的加工,例如:简单的打包(mvn打包)或压缩文件。server
c,将目标产物部署到开发或者生产服务器。一般的作法是远程ssh目标服务器,上传产物(war包或者其余文件),远程启动服务。blog
对于maven项目来讲,这一步为打包,以下图:开发
Source files:表明当前Jenkins工做目录步骤b处理好的产物
Remove prefix:字面意思就是移除目录前缀,好比:jenkins中目标产物的全路径是biz-web/target/*.war,可是只想把war拷贝过去,这个时候Remove prefix就填biz-web/target
Remote directory:是相对于ssh目录的,若是不存在则会在远程服务器相对于ssh根目录建立改目录。
Exec command:就是在远程server在执行的命令,好比启动web服务,咱们这里有一个用法按期执行服务器上的集计job(由shell调用kettle执行job)