1. 程式人生 > >jenkins+maven+git持續整合部署問題總結

jenkins+maven+git持續整合部署問題總結

1、這個問題出現在單獨構建一個專案的子模組時,很奇怪,構建父專案沒有問題。

Executing Maven:  -N -B -f /root/.jenkins/workspace/newMer/pom.xml clean install -Dmaven.test.skip=true tomcat:run
java.lang.NullPointerException
    at jenkins.maven3.agent.Maven33Main.launch(Maven33Main.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven
3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:212) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java
:72) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Started by user jenkins Finished: ABORTED

通過搜尋資料暫時可以這樣解決:jenkins的全域性工具中maven的版本不是使用3.5,需要修改成3.3.9就可以了。

2、多模組專案構建問題,正常情況下jenkins會把父模組下面所屬的所有子模組都構建一下,這時候我們有可能只改了一個模組,不想把所有的子模組程序都殺掉,然後再重啟。

這個問題我用了一個比較笨的方法,就是以每個模組名為基礎新建多個任務,這樣構建打包還是所有的,但是可以根據任務名配置相應的模組進去再重啟等操作。

3、管理使用者,jenkins預設就是不允許註冊的,我們需要先解開這個限制,然後註冊一個賬號,就可以給這個賬號分配許可權了。

4、jenkins+Publish Over SSH外掛實現遠端伺服器釋出部署。

首先下載好Publish Over SSH外掛後,在系統管理>系統設定裡面有個Publish Over SSH選項,設定SSH Servers後點擊高階設定密碼和埠,最後可以用test configuration測試一下是否可以連線。

其中source files和Remote directory都是要寫相對路徑,source files預設是在當前jenkins執行任務得工作空間,Remote directory是指遠端伺服器的使用者預設目錄如:我的使用者名稱是manager 預設目錄就是/home/manager/

這裡寫圖片描述