2012-09-27 35 views

回答

2

這是我目前正在進行的工作。沒有固定的方式,但可以通過一些腳本來完成。

如果您是在遠程系統上運行的DEPS,從shell腳本說,那麼我會向腳本添加一個命令首先rsync的私有數據到位:

rsync -taP private/ [email protected]:~/private/ 
ssh [email protected] 'babushka "server configured"' 

這就是最簡單的情況,但它很快變得混亂。相反,我用babushka本身來做這種事情,以便用deps來描述整個過程。

我有一個小型幫助器方法,用於在遠程計算機上安裝babushka,然後在其上運行任意代碼的dep。這使您可以編寫取決於遠程運行結果的本地代碼,從而有效地將babushka嵌入其中。

它還不夠普遍,不足以被合併到核心中(並且它需要重構),但它運行良好。這是,如果你想給它一個去在此期間:

https://github.com/conversation/babushka-deps/blob/master/provision.rb#L123-131

使用這種方法,您可以將參數傳遞給每個遠程運行。這使得提供私人數據變得容易,例如你的私鑰或用於設置你的網絡服務器的SSL證書等。

(請注意,雖然在本地和遠程盒子上將參數值記錄到〜/ .babushka/logs/dep-name,所以'private'假定兩者上的相關用戶帳戶都是可信的。)