1. Jenkins 概述
Jenkins是一個開源的持續集成工具。持續集成主要功能是進行自動化的構建。自動化構建包括自動編譯、發布和測試,從而盡快地發現集成錯誤,讓團隊能夠更快的開發內聚的軟件。
2. Jenkins功能
主要功能:
l 代碼庫(svn/git等)代碼發生變化后更新代碼至jenkins工作目錄
l 代碼變化后啟動編譯或設置定時編譯
l 輸出編譯結果,包括生成的目標文件
l 郵件通知構建結果
3. Jenkins構建過程
1. 向代碼庫提交代碼,代碼庫變化觸發構建
2. 定時觸發構建,到定時的時間點觸發構建
3. Jenkins更新至最新代碼
4. 啟動編譯,失敗則停止構建。郵件反饋失敗信息
5. 輸出編譯產物,WEB提供目標文件下載
4. Jenkins使用
4.1 Jenkins啟動
1. 下載Jenkins軟件jenkins.war。
2. Java環境配置
3. Linux shell或windows cmd執行java -jar jenkins.war
4. 指定端口啟動java -jar jenkins.war --httpPort=port
Tips:jenkins工作目錄默認在啟動用戶home目錄,jenkins操作權限與啟動用戶一致。
4.2 Jenkins web
登錄web,首次訪問提示輸入administration password 在shell中啟動日志會提供,復制登錄后創建admin用戶。
Jenkins搭建完成后訪問輸入用戶名和密碼登錄。
4.3 Jenkins界面
主界面說明:
項目界面說明:
單次構建界面說明:
Jenkins使用主要是操作這三個頁面,可以完成以下內容:
l 近期代碼構建結果查看
l 手動立即啟動構建
l 獲取構建結果目標文件
l 查看單次構建的代碼變化
l 獲取構建日志進行問題定位
5. Jenkins配置
5.1 系統配置
主界面進入系統配置,主要可更新和下載當前的插件和添加新的jenkins用戶,系統設置內可配置jenkins工作目錄及郵件相關配置,以配置好可不做修改。
5.2 項目配置
5.2.1 創建項目
項目配置需要熟悉當前項目的編譯環境,配置項目的jenkins環境即配置當前項目的編譯環境。
新建jenkins項目,選擇自由風格的軟件項目。已存在的項目可以在項目頁面點擊配置進入修改。
5.2.2 源碼配置
在源碼管理配置代碼庫,提供svn的url以及有Read權限賬戶,所有設置均需要插件支持,如果找不到配置選項,可以查看是否安裝的對應功能的插件。
代碼更新下載在jenkins的工作目錄下/home/Jenkins/.jenkins/workspace,其他構件操作均以工作目錄下代碼為基礎。
5.2.3 設置構建觸發器
選擇Poll SCM
* * * * *為每分鍾檢查一次SVN代碼,有更新則啟動構建。
* * * * *可以替換為具體時間
第一個參數代表的是分鍾 minute,取值 0~59;
第二個參數代表的是小時 hour,取值 0~23;
第三個參數代表的是天 day,取值 1~31;
第四個參數代表的是月 month,取值 1~12;
第五個參數代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
由此可以配置定時構建
如0 * * * * 表示的就是每個小時的第 0 分鍾執行一次構建。
5.2.4 構建配置
構建配置即配置代碼的編譯過程,首先需要在jenkins機器上配置好編譯環境,先在機器上手動編譯,確認編譯環境配置完成,可以進行當前項目的代碼編譯后,再進行配置。
在構建選項上可以選擇不同的工具進行構建,這些都需要插件的支持。因為項目是由命令行執行編譯命令進行構建的,所以選擇Execute shell執行命令進行構建,也可以配置其他構建工具環境進行構建。
5.2.5 輸出歸檔
構建成功后需要將目標文件進行歸檔,否則在項目頁面是無法顯示和下載最后一次成功的構建結果選項。
這步在構建后進行操作,在構建后操作中選擇archive the artifacts,填入需要歸檔的文件的正則表達式進行過濾。多個目錄文件表達式可使用“,”進行分割。
5.2.6 郵件通知
在構建結束后,可以配置郵件,進行郵件通知。提示開發者構建結果,及時處理。
在使用郵件通知時需要先配置
主頁面進入系統管理的系統設置頁面,設置郵件通知,通知郵件將由這個郵箱發出,這個郵箱必須與jenkins location配置中的郵箱一致。
配置項目中的郵件收件人
可以使用“,”分割多個收件人。
6. Q&A
6.1. 忘記用戶密碼
/home/jenkins/.jenkins/users目錄下有所有用戶信息,打開對應用戶的xml配置文件,找到passwordHash內容,修改為:
#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS
密碼將被設置為111111
6.2. 如何手動安裝插件
把文件放在/home/jenkins/.jenkins/plugins目錄下,重啟jenkins即可。
6.3. 郵件配置測試一直不成功
管理郵箱必須與jenkins location中郵箱一致,官網確認當前郵箱的SMTP服務器,端口以及是否使用SSL協議,最后查看當前郵箱是否開通IMAP/SMTP/POP/Exchange 服務。
6.4. Jenkins啟動失敗
查看啟動端口是否被占用,查看是否當前的java環境版本不支持當前版本jenkins。
請無視打碼技術。
轉載注明出處:http://www.cnblogs.com/binchen-china/
我的博客即將搬運同步至騰訊雲+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=zoaf0yj4v5of