慕課網視頻《DevOps和雲計算初始》學習整理紀要
課程視頻鏈接:
https://www.imooc.com/learn/910
傳統的開發發佈流程簡單概括如下:
1、將代碼git pull 到開發環境下;
2、進行代碼的編寫,編寫完成後,將代碼git push到代碼服務器,在這中間可能會涉及到git 分支、合併等操作;
3、在(生產)服務器上將代碼git pull下來;
4、在服務器上進行代碼的編譯,然後進行發佈,中間會涉及到重啟服務等。
以上4步都是可以通過自動化進行的,其中有關測試的場景,這裡沒有提及,一般可以在開發編輯完代碼後進行測試,測試通過後進行代碼的push,或者是開發完成後,git push的分支不是正式版本的分支,整體的發佈也是發佈在測試環境下,這些都是可以的,完全可以根據業務場景進行靈活調整。
使用devops的模式的話,需要一個devops的server來進行自動化的管理和設計。
這樣一共看下來可能是會有三個服務進行運作,分別是:業務服務、DevOPS管理服務、代碼服務(當前一般都是git和svn,這裡視頻中是GitHub)。
在這裡DevOPS管理服務會涉及到一個在服務器端運行的腳本,需要該腳本去實現自動化的更新代碼、發佈服務等操作。(在本視頻中主要講使用腳本,是否在實際環境中還有其他方式,當前就不是很確定了。)
該視頻中介紹實現的DevOPS的流程主要是:
1、開發完成代碼編寫後,上傳到到代碼服務器(視頻中為github);
2、根據GitHub當前自帶的功能(項目中-->setting -->Webhooks),該功能可以在檢測到本項目有push的行為後,去觸發訪問一個URL,而該URL就可以設置為DevOPS 管理服務的URL,訪問該URL觸發DevOPS管理服務;
3、觸發DevOPS管理服務後,執行服務器上腳本來實現代碼的pull和服務的發佈、重啟;
4、業務服務版本得以自動化發佈。
有關後續的有關監控、告警、自動化運維,自動拉起服務,後續學習後再進行補充,當前學習紀要如下。
請各位指正、批評。謝謝。
2018.01.21 23:24
閱讀更多 海淵haiyuan 的文章