天天看點

jenkins 入門教程(上)

jenkins是一個廣泛用于持續建構的可視化web工具,持續建構說得更直白點,就是各種項目的"自動化"編譯、打包、分發部署。jenkins可以很好的支援各種語言(比如:java, c#, php等)的項目建構,也完全相容ant、maven、gradle等多種第三方建構工具,同時跟svn、git能無縫內建,也支援直接與知名源代碼托管網站,比如github、bitbucket直接內建。

一、安裝及啟動(本文環境為mac os)

啟動方法: java  -jar jenkins.war 即可,如果要以背景程序的方式啟動,改成nohup java -jar jenkins.war & 即可,啟動過程中,它會将war包解壓到~/.jenkins目錄下,并生成一些目錄及配置檔案,有興趣的同學可以自己進入這個目錄研究一下。

二、更新及下載下傳插件

啟動成功後,浏覽http://localhost:8080/ (如果不是安裝在本機,localhost請自行換成伺服器對應ip)

jenkins 入門教程(上)

參考上圖,進入Manage Plugins的界面,jenkins的很多功能都是借助plugin來完成的,首次啟動時很多插件會提示已經過時,需要更新,建議更新成最新版本,同時建議安裝以下插件,以友善支援git項目及向遠端機器上傳檔案及執行遠端shell指令。

jenkins 入門教程(上)
jenkins 入門教程(上)
jenkins 入門教程(上)

插件更新完後,重新開機jenkins以便讓其生效。

三、安全設定

預設情況下,jenkins允許匿名使用者做任何事情,這也就意味着誰都可以使用jenkins進行釋出,這顯然不夠安全,jenkins支援多種安全認證機制,下面示範最傳統的使用者名/密碼模式如何設定:

jenkins 入門教程(上)

參考上圖,進入Configure Global Security界面

jenkins 入門教程(上)

參考上圖設定,上面的設定大概意思為采用jenkins内置的使用者名、密碼認證機制,同時允許使用者注冊,匿名使用者有管理權(首次配置時,建議允許匿名使用者有管理權限,以避免操作錯誤後,無法正常進入jenkins管理界面,等其它使用者權限都設定好以後,再去掉匿名使用者的管理權)

儲存後,jenkins右上角會有一個sign up注冊連結,點選進去,注冊一個使用者,參考下圖:

jenkins 入門教程(上)

然後再進入安全設定界面:

jenkins 入門教程(上)

可以看到,使用者清單多了一個yangjm的使用者,而且有管理權限,可以嘗試用yangjm的使用者名登入一下,如果ok,就可以去掉匿名使用者的管理權限了,一般情況下,個人建議去掉允許使用者注冊的勾選(實際應用中,一般都是提前建好所有使用者名,很少允許釋出系統随意注冊),儲存後,再次通路jenkins

jenkins 入門教程(上)

就會強制隻能登入使用者才能使用了。

四、系統配置

在正式建立部署項目前,還有幾個關鍵參數要設定,如下圖:

jenkins 入門教程(上)

首先是jdk

jenkins 入門教程(上)

其次是ant、maven參數

jenkins 入門教程(上)

如果需要打包gradle項目,gradle也要配置

jenkins 入門教程(上)

對于git托管的項目,git配置是不可少的

jenkins 入門教程(上)

如果部署過程中,還需要運作shell腳本,以及通過scp向遠端機器上傳檔案,則需要配置下面這些

jenkins 入門教程(上)

注:上圖中紅色标1的地方,填寫的是本機的ssh私鑰證書,紅色标2的地方為證書的通路密碼,如果未設定證書密碼,直接留白,Root Repository Path為遠端伺服器的上傳根目錄,hostname即為遠端伺服器的機器名稱(或IP).

此外,還有一個強大的publish over ssh,不僅能向遠端伺服器上傳檔案,還能遠端執行伺服器上的Shell腳本,可參考下面配置

jenkins 入門教程(上)

跟SCP的參數設定類似,不過這個插件多出了一個Test Configuration的按鈕,如果參數正确,點選該按鈕後,會嘗試連接配接到遠端伺服器,成功的話,會顯示Success.