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)

相關文章
相關標籤/搜索