從CloudFoundry源代碼看vcap安裝過程

本文僅關注dev_setup子目錄,通過閱讀本文及源代碼,你能夠大致瞭解運用dev_setup是如何實現對CF的布暑及啓動的。

bin/vcap_dev_setup

parse options, sudo, bundle clear, ruby, gem, proxy, wget, config,
chef, rake, git (準備最基本環境。可手動安裝,不礙事)
----
lib/chefsolo_launch.rb
opts parse, default config attributes (what DEPLOYMENT_DEAFULT_SPEC ?), 
--
插播: lib/job_manager.rb
CF安裝組件,服務及相關,job文件的格式/重複/性能
安裝(deployments目錄中)job中的模塊或服務(主要使用rake安裝)
插播: vcap_defs.rb
class Deployment 定義在這!
--
繼續:使用chef了!
(使用cookbooks, roles目錄)創建solo.rb
創建solo.json
執行chef-solo命令及上面的文件安裝
保存本次布暑的基本信息
顯示結果: ok? false ?

----
cookbooks, roles是所有可選擇的 -> 菜單(極其豐富)
deployments是你所想要安裝 -> 您點的菜(用你所用)
lib 是你安裝的具體實現 -> 做菜過程(極其複雜,通常我們不關心)
bin 對lib做封裝,實現一鍵安裝 -> 吆喝"服務員上菜"(我們動動嘴皮子就行,極其簡單)

----
start, stop,restart等命令: 一行ruby執行腳本 (ruby xxx)
(一些特殊的組件要不要安裝可以在這配置)
--
插播: vcap
start, stop, restart等命令具體實現在這裏。vcap_dev只是"一鍵調用"
--


roles 只與 chef 有關。在最終布暑好的CF配置中,是與roles/ 無關的。由cookbooks決定!


----
job_dependency.rake -- install job
vcap_components.rb -- Components.register(name) --
@@named_components[name] = self; class Component 定義在此!
call by: bin/vcap
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章