##1.安裝 雖然想直接安裝到centos上,但考慮學習配置,就先從windows開始。登錄Jenkins官方網站下載最新的版本。選擇版本的時候下意識的就打開下拉箭頭選擇了windows。這是個美麗的錯誤,應該選擇war的。java
一路安裝結束後,啓動8080發現已經ok了,然而我並不想要佔用8080端口,因而尋找配置端口的地方。百度出來的大多數的Jenkins博客也都是簡單介紹,並且可能是用war來啓動的,使用war啓動能夠設置端口:java -jar jenkins.war --httpPort=$HTTP_PORT
. 而後再安裝爲windows服務。而我下載的msi一步到位了。又去百度了,沒能找到合適的。本身去翻安裝好的路徑下的配置文件'D:\Program Files (x86)\Jenkins\jenkins.xml'。果真在這裏:git
<service> <id>Jenkins</id> <name>Jenkins</name> <description>This service runs Jenkins continuous integration system.</description> <env name="JENKINS_HOME" value="%BASE%"/> <!-- if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe. The following value assumes that you have java in your PATH. --> <executable>%BASE%\jre\bin\java</executable> <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8070 --webroot="%BASE%\war"</arguments> <!-- interactive flag causes the empty black Java window to be displayed. I'm still debugging this. <interactive /> --> <logmode>rotate</logmode> <onfailure action="restart" /> </service>
第一次修改後重啓windows服務:'services.msc'->重啓。 然而並無像想一想中的那樣能夠直接訪問8070了,由於發現service一啓動就關閉了。想起剛開始在Jenkins頁面的全局設置了修改了端口,因而改回8080,然而啓動登陸,進入全局設置:github
修改爲8070以後,關閉服務,從新修改配置文件8070,啓動服務。如此,Jenkins安裝完畢。 瀏覽器訪問localhost:8080就能夠了。web
##2.構建第一個job 這裏先完整的記錄一個簡單的job歷程,後面補充踩過的坑。spring
###2.1構建一個GitHub源碼庫的job 能夠直接新建開始第一個job,然而結果倒是失敗,緣由是一些環境尚未配置好。因此第一步要作的是配置環境。 點擊系統管理>>系統設置windows
####1. 添加home環境變量 這個是血淚鑄成的坑。Windows上的Jenkins默認的home並非咱們當前的用戶,因此後面若是有用到基於home路徑的配置則會通通失敗,好比.ssh。 勾選Environment variables,添加home:centos
####2.設置maven全局配置文件 點擊系統管理>> Global Tool Configuration>> 因爲國內訪問maven鏡像庫比較慢,所以大多設置爲國內的鏡像好比阿里雲,或者本身搭建的。瀏覽器
####3.設置jdk ssh
####4.設置git maven
####5.設置maven和gradle
####6.開始建立job 點擊新建,輸入項目名稱,好比demo. 勾選github project, 輸入project url
####7. 源碼管理 這裏是重點,我被卡了幾個小時。就是由於前文提到的,Jenkins中git不識別key。就會報錯return status code 128
.因此第一步的設置環境變量必定要作。其次是github的配置。在系統配置裏有github的配置,這裏主要配置一個github的token,方便Jenkins與github集成,最終能夠在master的branch下看到一個點,連接指向Jenkins最新的build。這裏先不談集成的問題。 設置成功後不會報錯了。點擊add,添加credentials。就是github的用戶名和密碼。若是是公開項目則不用。
####8.構建觸發器 這裏能夠忽略,之後添加pipeline的時候設置構建邏輯。
####9.構建 這裏是項目構建邏輯。即各類執行腳本。選擇合適的執行腳原本執行代碼。這裏測試調用maven直接run項目,固然也能夠mvn install打成war包後啓動Tomcat。
####10.運行測試 點擊保存,而後點擊當即構建。 點擊進入
點擊Console Output 能夠看到build的結果:
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.966 s [INFO] Finished at: 2016-11-23T22:39:02+08:00 [INFO] Final Memory: 16M/225M [INFO] ------------------------------------------------------------------------ Finished: SUCCESS
同時,在github也能夠看到master分支build的詳情,點擊就會跳轉到此次build:http://localhost:8070/job/demo/23/
####11.遇到過的問題
returned status code 128: stdout: stderr: Permission denied (publickey). fatal: Could not read from remote repository.
解決:設置home位置
Failed to connect to repository : Command "D:\Program Files\Git\Git\bin\git.exe ls-remote -h git@github.com:winsnow/spring-boot-demo.git HEAD" returned status code 128: stdout: stderr: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
解決:設置home位置
###構建一個SVN源碼庫的job 同上,只不過源碼管理選擇svn,而且輸入帳號密碼。
###參考