持續集成平臺jenkins
一. 什麽是持續集成
1. 概念
持續集成(Continuous Integration),也就是我們經常說的CI
持續集成(CI)是一種實踐,可以讓團隊在持續的基礎上收到反饋並進行改進,不必等到開發周期後期才尋找和修復缺陷
2. 為什麽要使用持續集成
-
bug總是在最後才發現
-
越到項目後期,問題越難解決
-
軟件交付時機無法保障
-
程序經常需要變更
-
無效的等待變多
3. 多人開發流程圖
多人協作開發,由於開發只會測試自己的代碼,多人的代碼集成在一起,難免會出現這樣那樣的bug。這時就需要jenkins對集成後的代碼進行打包編譯,如果有問題會進行反饋
持續集成並不是要等到項目穩定,而是在項目一開始就要進行,這樣才能盡早發現問題,解決問題
二. 持續集成的用途(標紅色的都是)
三. 持續集成的好處
1. 解放了重復性勞動
2. 更快地修復問題
3. 更快地交付成果
4. 減少了手工的錯誤
人和機器的一個最大的區別是,在重復性勞動上,人容易犯錯,而機器犯錯的幾率幾乎為零。所以,當我們搭建完成集成服務器後,以後的事就交給集成服務器來打理吧
5. 減少了等待時間
持續集成縮短了從開發、集成、測試、部署各個環節的時間,從而也就縮短了中間可以出現的等待時間
持續集成,意味著開發、集成、測試、部署也得以持續
6. 更高的產品質量
集成服務器往往提供 Code review、代碼質量檢測等功能
對代碼不規範或者有錯誤的地方會進行標識,也可以設置郵件、短信等進行警告
而開發人員通過 Code review 也可以持續提高編程的能力
四. jenkins 介紹
一款持續集成工具
1. 環境安裝:
1). jdk 1.8
2). jenkins下載地址: https://jenkins.io/download/ 下載 Long-term Support(LTS) 下的版本
2. jenkins 概念
1). Job
在jenkins平臺中,都是以Job(任務/工程)為單位去完成一件事情的
2). plugin(插件)
jenkins提供平臺,集成各種插件來完成一個Job。想用jenkins平臺來做什麽,先找找有沒有相應的插件。比如:windows命令、linux命令的支持、svn和git代碼獲取、郵件發送等
路徑:系統管理 -> 管理插件 -> 可選插件
3). workspace(工作空間)
jenkins是通過文件形式來存儲和管理數據的
workspace即給jenkins指定一個專門的目錄來存儲其所有的配置和數據
jenkins的workspace是根目錄。每個Job都有屬於自己的workspace(任務之間互不相幹)
路徑:系統管理 -> 系統設置
4). jenkins管理(Jenkins Manager)
整個jenkins的全局配置,包括權限管理、插件管理、節點管理等
3. jenkins Job詳解
1). 基本信息配置(General)
Job名字、指定當前Job的工作空間、指定當前Job綁定到哪個執行機上執行等
2). 源碼管理(Source Code Management)
svn/git等,需要相應的插件支撐
配置好源碼管理後,在執行Job時會自動從相應的源碼庫裏下載代碼到當前Job的工作空間中
3). 構建觸發器(Build Triggers)
觸發器:執行當前任務的條件
常用定時構建:類似windows/linux的定時任務。指定當前Job執行的時間
定時構建1:要求每天9點,14點,20點運行這個任務(其中*代表所有的有效值)
註意:如果0-0用H代替,會出現不整點的情況
定時構建2:要求每天9點到14點之間,每整點運行這個任務(其中*代表所有的有效值)
定時構建3:要求周一到周六每天9點到14點之間,每整點運行這個任務(其中*代表所有的有效值)
Poll SCM
4). 構建環境(Build Environment)
5). 構建(Build)
6). 構建後操作(Post-build Actions)
詳細配置郵件請參考 jenkins自動發送郵件配置
持續集成平臺jenkins