2013-04-26 43 views
2

我正在使用Vitor Baptista的chef-ckan食譜來爲流浪者設置CKAN安裝。如何將Vagrant中的CKAN安裝連接到主機操作系統中的克隆回購?

一切工作正常,但我找不到方法使CKAN從我的主機操作系統(在這種情況下是OSX中的克隆目錄)加載源代碼。

目前我們在主機操作系統中的CKAN代碼(回購代碼)與流浪者共享爲/vagrant。問題在於CKAN虛擬環境正在從〜/ pyenv/src/ckan中讀取源代碼,其中不包含我們的提交。

我們如何鏈接兩個目錄?

更新1:
貌似vm.shared_folder不會做的伎倆,因爲它映射主機文件夾,文件夾虛擬機。我也在看cookbooks/ckan/recipes,發現一個SOURCE_DIR常量,但不能解決問題。

USER = node[:user] 
HOME = "/home/#{USER}" 
ENV['VIRTUAL_ENV'] = "#{HOME}/pyenv" 
ENV['PATH'] = "#{ENV['VIRTUAL_ENV']}/bin:#{ENV['PATH']}" 
SOURCE_DIR = "#{ENV['VIRTUAL_ENV']}/src/ckan" 

更新2:
剛剛發現在配方https://github.com/vitorbaptista/chef-ckan/blob/master/cookbooks/ckan/recipes/default.rb#L29到這行,也許我們可以鏈接到vm.shared_folder所以CKAN安裝讀取我們的主機操作系統的源。

仍然無法正常工作。只是想知道如果vagrant reload是不夠的,我應該做一個vagrant destroy; vagrant up

回答

1

我終於得到它,通過與VM共享我的CKAN叉directoy(在這種情況下,父親directoy因爲Vagrantfile是廚師CKAN子模塊內):

config.vm.share_folder "ckan", "/vagrant", ".." 

參考:https://github.com/wilhelmbot/chef-ckan/commit/3cacc6969e8e257862cbc13f32a4d9f271850f27

和改變CKAN配方使用共享文件夾作爲源目錄(如維托爾指出)https://github.com/wilhelmbot/chef-ckan/commit/cc338f6946efc3968c3b8bded6df00010e9e4732

注:
我不能讓git的[R參考屬性起作用,這就是爲什麼我沒有使用Vitor提出的完整解決方案。

我得到STDOUT: STDERR: fatal: Could not parse object 'e0648dbf...'

+0

即使我的新提交,你仍然有這個問題?奇怪。你可以在GitHub上添加一個問題嗎? – 2013-05-08 00:56:19

+0

當然https://github.com/vitorbaptista/chef-ckan/issues/4 – rodowi 2013-05-08 03:02:40

+0

wilhelmbot你能接受你的答案,所以這不會顯示爲未答覆? :) – 2013-09-13 15:32:13

2

(我剛剛加入這個廚師長,CKAN的倉庫,所以它更容易簡單地更新它。在這裏,我只是解釋了修復。)

問題是我已經使用pip install --editable克隆CKAN的存儲庫並安裝它。要做你想做的事,你需要分開這兩個步驟。

# Install CKAN Package步驟之前,添加:

git SOURCE_DIR do 
    user USER 
    group USER 
    repository "git://github.com/okfn/ckan.git" 
    reference "master" 
    enable_submodules true 
end 

,然後編輯安裝是:

python_pip SOURCE_DIR do 
    ... 
end 

然後你就可以改變SOURCE_DIR爲任何你喜歡的(即/vagrant/ckan),並應工作。它不能是父目錄尚未創建的子目錄。例如,如果SOURCE_DIR是「/ vagrant/src/ckan」,則「/ vagrant/src」必須已經存在。

默認情況下,git chef的配方會在運行時更新克隆的存儲庫。如果你想改變它,請檢查文檔http://docs.opscode.com/resource_git.html

乾杯!

+0

最後一個屬性應該是複數='enable_submodules' – rodowi 2013-05-02 23:56:33

+0

我得到解析錯誤:----開始混帳的輸出取起源&& git的取起源--tags &&混帳重置--hard e0648dbf ... ---- STDOUT: STDERR:致命的:無法解析對象'e0648dbf ...' – rodowi 2013-05-03 00:23:22

相關問題