2019獨角獸企業重金招聘Python工程師標準>>>
先簡單記錄一下,后面再慢慢完善。
1、環境
jdk 1.7.0_45
maven 3.1.1
jenkins 2.3.21
jdk和maven的安裝就不必多說了,主要是jenkins的安裝需要說下,jenkins有war包和yum還有rpm等安裝方式,我認為還是下載安裝rpm比較簡單點。我是去了官網找了支持jdk1.7的版本下載的,主要是服務器本來就裝有1.7的jdk,就不想換了。然后就是普通的安裝,安裝完畢后進行配置工作。
2、jenkins配置
jenkins安裝的詳細步驟在網上有很多的教程,容易找到,就不多寫。主要是有一點需要明確的是,需要安裝svn、maven和ssh的相關插件,如果少了就無法使用這些東西了。
如下圖所示,進入Global Tool Configuration,配置jdk和maven的路徑。
在系統設置中配置ssh服務器的ip和賬號密碼,如果需要密碼登錄的服務器需要勾選use password。需要注意的是這個Remote Directory是登錄后進入的目錄,如果不填寫默認的是用戶目錄,這里我們要改成/(根目錄),會對后面在傳輸war包到別的服務器的時候的路徑有影響。填寫完畢后點擊test測試通過就行了。
配置完服務器后,我們可以新建任務了。點擊新建,出來這個頁面。給部署任務取個名字(推薦使用英文名,因為jenkins會把任務名來建立目錄,如果是中午可能會有亂碼),然后選擇maven項目。這里需要提的是maven項目所依賴的倉庫最好上傳到jenkins服務器的某個文件夾中,方便使用。
在創建了maven項目后,我們還需要配置svn地址,如下圖所示。只要填寫好svn的地址,添加用戶名密碼就可以了。
下面這個構建觸發器一般選擇Poll SCM,其他的我暫時沒有研究有啥用,基本上定時部署用Poll SCM就可以了。這個定時有規則的,規則還需要一點時間理解,就先使用 H/10 * * * * 來吧,這個代表每10分鐘檢查svn,如果有更新就構建。這里的規則jenkins有詳細的說明,不過是英文的。。
然后是build命令,這里pom.xml是svn下載下來的工程路徑里面pom.xml的路徑,如果你svn設置的目錄里pom文件不是在根目錄,這里你就要修改下文件的位置了,要寫上相對路徑。下面的命令是mvn命令,我這里是清理,打包,然后指定倉庫,跳過測試。關于用mvn package命令打包,也碰到坑,因為之前用的是war:war打包的,那種打包方式需要依賴eclipse的編譯,如果沒有編譯打出來的war包是沒有class的。而且需要將資源文件夾resource在pom文件里面引入,總之費了一些功夫才打包成功。
打包成功后會在workspace文件下新建svn下載好的工程和target目錄,war包就在target目錄底下。
構建后操作選擇send build artifact over ssh,然后選擇剛才在配置里面配置好的服務器。這里source files是jenkins在本次任務workspace文件下的文件,故一般都填寫target/***.war,下面的remove prefix是去除前綴,如果不去掉傳到別的服務器的時候就會帶著這個target目錄,這里一般填寫target。remote directory這里填寫的是你希望把這個war包傳到另一個服務器的哪個文件夾里面,之前在配置里面寫的remote directory和這個是拼接起來的,如果之前的沒有配置好,最后傳過去的位置以root用戶為例,就是/root/**/**.war。最后一欄是傳輸完畢后,需要運行什么sell文件,這里一般的格式是 /***/***/**.sh 。這個shell只要事先寫好放在固定的目錄下等著jenkins傳完運行就是了,一般寫的都是啟動tomcat,部署war包等操作。
弄好這些配置,就直接運行就可以了。等有時間再補充上利用filter過濾項目的配置文件,做到部署到測試服務器和正式服務器上的jdbc可以動態配置。