[獨孤九劍]持續整合實踐(一)- 引子持續整合(continuous integration),以自動化方式實現「從開發階段性完畢到部署上線之前」這一階段的工作。當然也可做到簡單部署,複雜的要涉及到持續部署階段。[獨孤九劍]持續整合實踐(二)– msbuild語法入門
[獨孤九劍]持續整合實踐(三)- jenkins安裝與配置(jenkins+msbuild+github)
搜狗:持續整合是指開發階段,對專案進行持續性自動化編譯、測試,以達到控制**質量的手段。持續整合是一種軟體開發實踐。
在敏捷開發過程中,持續整合的使用尤為頻繁。而每次的整合都是通過自動化的構建來驗證,包括自動編譯、發布和測試,從而盡快地發現整合錯誤,讓團隊能夠更快的開發內聚的軟體。
1.3.1、持續整合的核心價值
持續整合的核心價值在於:
1) 持續整合中的任何乙個環節都是自動完成的,無需太多的人工干預,有利於減少重複過程以節省時間、費用和工作量;
2) 持續整合保障了每個時間點上團隊成員提交的**是能成功整合的。換言之,任何時間點都能第一時間發現軟體的整合問題,使任意時間發布可部署的軟體成為了可能;
3) 持續整合還能利於軟體本身的發展趨勢,這點在需求不明確或是頻繁性變更的情景中尤其重要,持續整合的質量能幫助團隊進行有效決策,同時建立團隊對開發產品的信心。
1.3.2、持續整合的原則
業界普遍認同的持續整合的原則包括:
1) 需要版本控制軟體保障團隊成員提交的**不會導致整合失敗。常用的版本控制軟體有 ibm rational clearcase、cvs、subversion 等;
2) 開發人員必須及時向版本控制庫中提交**,也必須經常性地從版本控制庫中更新**到本地;
3) 需要有專門的整合伺服器來執行整合構建。根據專案的具體實際,整合構建可以被軟體的修改來直接觸發,也可以定時啟動,如每半個小時構建一次;
4) 必須保證構建的成功。如果構建失敗,修復構建過程中的錯誤是優先順序最高的工作。一旦修復,需要手動啟動一次構建。
說了不少廢話,現在開始上乾貨。
乙個完整的構建系統必須包括:
1) 乙個自動構建過程,包括自動編譯、分發、部署和測試等。
2) 乙個**儲存庫,即需要版本控制軟體來保障**的可維護性,同時作為構建過程的素材庫。
3) 乙個持續整合伺服器。
其中1)自動構建和2)**儲存庫,都是有相應的軟體配合,開發人員需要的學習成本不高,複雜在各模組的相互配合,這一期間可能需要大量時間去除錯。一旦除錯完畢,對於之後工作效率的提公升是成倍的。
自動構建,做.net開發的同仁相信大多數都會使用vs,而visual studio用msbuild構建.net專案。msbuild所需的僅僅是乙個指令碼,在指令碼中指定要執行的target;專案中的.csproj和.vbproj 檔案都是msbuild指令碼。當編寫好msbuild指令碼後,只需要一條簡單的命令,即可實現**的編譯與測試工作。下面將介紹msbuild的基本語法。
雖然msbuild實現了自動編譯與測試,但是在呼叫msbuild時,我們還是通過輸入命令進行呼叫的,這裡摻雜了人工干預的成分,因此要將這部分工作剔除。
目前主流的版本管理有傳統的svn、分布式的git和mercurail各有利弊,自行選擇。
jenkins是乙個開源專案,提供了一種易於使用的持續整合系統,使開發者從繁雜的整合中解脫出來,專注於更為重要的業務邏輯實現上。同時 jenkins 能實施監控整合中存在的錯誤,提供詳細的日誌檔案和提醒功能,還能用圖表的形式形象地展示專案構建的趨勢和穩定性。下面將介紹 jenkins 的安裝與配置。
jenkins配置好了,以後每次變更**,提交新的版本後,jenkins都會自行執行單元測試,在其設定頁面,還可以根據需要將執行報告傳送給指定的人,方便跟蹤。
整個的部署實際上無需花費過多時間,而且如果已搭建好持續整合伺服器,那麼每次新增的只是乙個job以及它的配置。麻煩的就是在剛學習時,會出現各種難以預料的問題,有時會是乙個簡單的拼寫錯誤,有時可能是版本等問題導致你所看到的資料所描述的,與你實際搭建的環境所需要的不一致,因此就需要自己學會排查、解決這些問題。總的來說,持續整合是個好東西。
(獨孤九劍) 環境安裝
一 什麼是開發環境?php是開發語言,針對開發語言寫出的 通常需要在指定的軟體下執行。針對開發語言的軟體和 都稱為開發環境 二 windows環境安裝 1.伺服器種類 伺服器就是一台提供特殊服務的電腦,如 網頁伺服器 顯示網頁的伺服器 電子郵件伺服器 顯示電子郵件收發的伺服器 遊戲伺服器 顯示各個玩...
獨孤九劍與設計模式
且看 笑傲江湖 中風清揚的獨孤九劍 有進無退,招招都是進攻,使攻敵不得不守。雖只一劍九式,卻是變化無窮,學到後來,前後式融會貫通,更是威力大增。能料到他要出甚麼招,反招卻搶在他頭里。敵人手還沒提起,你長劍已指向他的要害,他再快也沒你快。料敵機先 和 活學活用 這八個字,正是這套劍法的精要所在。設計模...
獨孤九劍學習法
何謂 獨孤九劍 在80386的電腦上有乙個叫 笑傲江湖 的遊戲,國產的 劍宗的風清揚使出9招劍式,威力無比,號稱 獨孤九劍 令狐沖練了 之後,武功迅速大增 氣宗的岳不群練了數30年的 神功 其武功確是十分地爛。這跟我們學習網際網路技術是相通的,我們的學員,自從來了我們訓練中心,便逐漸拋棄了練神功的修...