Jenkins2.33初學,安裝,配置,搭建job

##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,而且輸入帳號密碼。

###參考

相關文章
相關標籤/搜索