jenkins svn源码管理小记

以前对Jenkins管理SVN源码的逻辑不太清楚,简单研究了一下。对于通常的开发一般会有如下三个环境:web

一、svn服务器shell

二、Jenkins服务器服务器

三、开发服务器(部署测试版web应用或者其余应用)ssh

固然以上三者也能够在同一个服务器上,只是不一样的工做目录maven

 

简要阐述一下Jenkins的工做原理:svn

 a,首先更新svn上面的源代码或其余文件到Jenkins指定的工做区间测试

 b,在Jenkins工做区作必定的加工,例如:简单的打包(mvn打包)或压缩文件。server

 c,将目标产物部署到开发或者生产服务器。一般的作法是远程ssh目标服务器,上传产物(war包或者其余文件),远程启动服务。blog

  • 配置SVN,下面👇的图配置的是svn的信息,注意Local module directory指的是相对于Jenkins工做目录的,若是这里是.表明该job在Jenkins的工做目录,做为svn更新的目录。此处的配置和步骤a设置对应。

  • 配置在工做区执行任务(一般为打war/jar包压缩等工做),下图为简单的压缩归档打包,--exclude-vcs为不包括svn的配置文件。此步骤和上面的步骤b对应。

 对于maven项目来讲,这一步为打包,以下图:开发

  • 第三部一般是传输目标产物到服务器(开发或者生产),而后启动服务等操做。一般是经过ssh到远程服务器进行。下图的name为实现配置好的ssh链接,也就是要ssh的服务器。下面的Transfer为目标产物传输步骤。

   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)

相关文章
相关标签/搜索