自動化持續集成Jenkins
使用Jenkins配置自動化構建
http://blog.csdn.net/littlechang/article/details/8642149
Jenkins入門總結
http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html
Jenkins + sonar 的系統,用來執行自動構建、自動部署、自動測試,代碼質量評估的整套平台,用來做敏捷。
持續集成是個簡單重復勞動,人來操作費時費力,使用自動化構建工具完成是最好不過的了。
后期應該搞單元測試,自動化測試,自動部署
做分布式,服務器集群的時候沒有自動化工具是很難運轉的
軟件開發過程自動化原理及技術(完整示例)
http://www.cnblogs.com/beer/p/5005344.html
-----------------------------
持續集成 的好處,可以使用一個制造業的例子來描述:
1913年,福特將 流水線 應用到汽車組裝中,第一條流水線使每輛T型汽車的組裝時間由原來的12小時28分鍾縮短至10秒鍾,生產效率提高了4488倍!
在現代軟件工業領域也需要這樣:先自動化,然后持續集成,才可以實現快速迭代,以產生巨大的生產力,符合現代人對軟件工程的預期。
====================================
自動化方案
1.自動化單元測試
核心函數---- 自動化 單元測試
界面功能---- 手動 功能性自測
自動化測試涉及到自動化代碼的編寫,這部分的額外付出成本是在 回歸測試 的時候收回的,回歸的次數越多,邊際成本就越小。
所以只有相當穩定下來的功能才有回歸的價值。
2.自動化打包構建
實現無人值守的自動化。基本上現在各種語言都有自己相應的成熟的打包構建工具。
例如:前端grunt可以完成的自動化任務有:
去除掉js源碼里面的注釋,壓縮js,混淆js,合並文件
通過寫好相應的配置文件,運行grunt的相應參數命令,可以很好地實現開發構建階段的自動化工作流。
3.自動化發布
自動化發布的具體實現技術手段有很多種。
可以使用 Git 這樣的版本管理工具,使用調用shell命令,或者第三方操作庫實現代碼的自動化部署。
使用Jenkins配置自動化構建。
例如:jQuery靜態js發布方案使用整體文件上傳到公網服務器的方式(使用fabric工具),基本流程:
掃描自動化構建的目錄
使用fabric上傳文件到N台指定的服務器的相應目錄
使用fabric操控N台服務器設置靜態文件的權限
4.自動化檢測發布結果
對發布結果進行檢測,一個 開環 的系統的結果往往是存在不可預知的,往往是不可信的。
特別是在遠程發布的時候,網絡環境穩定性、服務器的硬件配額(磁盤容量已滿)、web服務器配置(權限問題)都會成為發布失敗的原因。
只有形成 閉環 才會形成可靠的交付。
發布的目的不是執行發布的流程,而是最終能夠讓開發產出物能夠提供正常的服務。
========================================
Shell、Mysql數據庫入門、Http協議緩存實戰Varnish,Lamp及Lnmp組合進階管理、
自動化運維工具ansible、系統自動化部署工具cobbler、Zabbix監控工具、負載均衡集群及其應用實戰(Lvs+nginx)、高可用集群及其實戰(Keepalived)
zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各種問題。