Jenkins 簡介php
一、文字簡介java
jenkins是一個普遍用於持續構建的可視化web工具,持續構建說得更直白點,就是各類項目的"自動化"編譯、打包、分發部署。jenkins能夠很好的支持各類語言(好比:JavaScript、java, c#, php等)的項目構建,也徹底兼容grunt、ant、maven、gradle等多種第三方構建工具,同時跟svn、git能無縫集成,也支持直接與知名源代碼託管網站,好比github、bitbucket直接集成。node
jenkins官網地址爲http://jenkins-ci.org/,jenkins自己是用java語言開發的,因此安裝jenkins的機器至少要有jdk,另外建議git、ant、maven、gradle、groovy等工具也一併安裝好,方便與這些構建工具集成。git
二、工做流程圖github
從圖片上看,其實Jenkins就是一個將之前人工打包、上傳、發佈操做經過各類插件等集成到可視化的web頁面上一個工具。web
2.1 從git等倉庫中拉取代碼(拉取後的代碼能夠在Jenkins的工做空間中找到)shell
2.2 Jenkins調用第三方插件 如Shell 運行指定命令c#
2.3 調用服務器上已經安裝的打包插件如grunt將代碼打包。瀏覽器
2.4 使用SSH命令將打包好的代碼上傳到發佈服務器上 服務器
2.5 使用SSH命令將上傳好的代碼發佈到代碼服務器
Jenkins 安裝和啓動
一、 Jenkins 安裝
具體安裝能夠參照博文: http://www.imooc.com/article/11895
二、Jenkins啓動 (電腦必須裝有java的sdk)
到下載文件目錄下,運行 java -jar ./jenkins.war --httpPort=9090
運行命令成功後能夠在瀏覽器下用 127.0.0.1:9090 訪問,
--httpPort=9090 指定的是訪問端口。
Jenkins添加項目和具體配置
安裝好後使用 http://192.168.0.66:9090 訪問界面, 192.168.0.66 是個人本機地址,9090 是我啓動Jenkins時使用的端口。
一、安裝插件
Jenkins的不少功能都須要依賴於現有的插件,好比git倉庫下代碼拉取、SSH命令的運行。Jenkins第一次啓動的時候會推薦你安裝默認的插件,建議將推薦的插件都安裝。
下面我以安裝Multiple SCMs Plugin 這個插件爲例, Multiple SCMs Plugin 這個插件可讓你的項目拉取多個倉庫代碼。 好比你的發佈項目須要將多個倉庫下代碼進行打包。
安裝截圖:
安裝成功截圖:
二、 Jenkins具體配置
仍是先從截圖看具體的配置界面而後一一解析具體功能
2.1 General 通用配置,能夠添加項目名稱、項目描述。和構建過程當中使用的參數。
參數化構建過程這個選項比較重要,它主要是讓你能夠根據本身的配置參數,去拉取指定分支代碼或者運行不一樣的shell腳原本達到好比發佈到不一樣的服務器上的邏輯,打包邏輯化。
2.2 源代碼管理
配置git倉庫地址。
${branch_project} 指定的就是你從倉庫中拉取指定分支的代碼,這個能夠在前面的構建化使用參數中配置。
Mutiple SCMs 是Jenkins的一個插件,主要解決一次發佈須要拉取多個倉庫代碼,好比你想從拉取A項目而且在A項目的子文件夾asset/src/h5中拉取B項目的代碼放於文件夾asset/src/h5中。就要使用這個插件。
而Additional Behaviours 項的配置是解決拉取兩個項目同時,B項目必須放到到A項目的asset/src/h5中。
2.3 構建觸發器
根據你本身的狀況去選擇,好比你能夠配置當git每次提交時就去打包。
2.4 構建環境
根據你本身的狀況去選擇,好比是否配置每次build時去清空工做空間。
2.5 構建
增長構建步驟添加你的具體操做,通常是選擇運行shell 腳本, 我是使用的grunt命令打包的因此個人shell 腳本中會有grunt 的相關命令, 具體shell腳本須要根據你的業務去擴展。
export PATH=/usr/local/bin:/path/to/node:/path/to/node_bin:/path/to/phantomjs:/path/to/jscoverage:$PATH;
加上這段shell腳本是配置mac機上的Path路徑的,有時候你運行shell腳本時會報找不到相應命令時加上這段估計能解決你的問題。
2.6 構建後步驟
當你的構建成功後你有時你須要把打包生成的zip包保留而且提供下載
點擊保存以後一個構建項目已經建立成功。
如何構建項目
點擊右側時鐘同樣的圖標,填寫你須要構建的參數。
查看構建時的日誌,當success時你的一次構建就算完成。
成功後能夠查看存檔文件