自動化持續集成Jenkinshtml
使用Jenkins配置自動化構建
http://blog.csdn.net/littlechang/article/details/8642149 前端
Jenkins入門總結
http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html nginx
Jenkins + sonar 的系統,用來執行自動構建、自動部署、自動測試,代碼質量評估的整套平臺,用來作敏捷。
持續集成是個簡單重複勞動,人來操做費時費力,使用自動化構建工具完成是最好不過的了。web
後期應該搞單元測試,自動化測試,自動部署
作分佈式,服務器集羣的時候沒有自動化工具是很難運轉的
軟件開發過程自動化原理及技術(完整示例)
http://www.cnblogs.com/beer/p/5005344.html
-----------------------------sql
持續集成 的好處,可使用一個製造業的例子來描述:
1913年,福特將 流水線 應用到汽車組裝中,第一條流水線使每輛T型汽車的組裝時間由原來的12小時28分鐘縮短至10秒鐘,生產效率提升了4488倍!
在現代軟件工業領域也須要這樣:先自動化,而後持續集成,才能夠實現快速迭代,以產生巨大的生產力,符合現代人對軟件工程的預期。shell
====================================
自動化方案
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能監視各類網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各類問題。