2013-01-21 52 views
0

我通過vagrant和虛擬框設置了我的虛擬環境。我使用Aptana IDE進行django開發,並且想知道是否有方法將aptana中的新項目與VM集成。 我以前使用過virtualenv,我只是改變我的Python路徑以包含我的virtualenv目錄。但是,用虛擬盒子,我不知道該怎麼做。我認爲這將是相同的程序,但我不這麼認爲。藉助Virtualenv,我能夠找到在該目錄中創建的項目。當我通過Vagrant + Virtual Box創建項目時,我無法在任何地方找到項目目錄......它不在我爲虛擬環境設置的專用目錄中。請幫忙。 謝謝。實現Aptana Studio + Django + Vagrant和虛擬框

回答

0

你可以用Vagrant做到這一點。我給大家舉一個例子:

一,項目結構:

/yourdjangoapp 
    /... # all your app stuff here 
    /manage.py 
/vagrant 
    /provisioning 
     /init.sh 
/Vagrantfile 
/.project 

II。/Vagrantfile(簡單的例子瓦特/默認precise64箱):

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

Vagrant.configure("2") do |config| 
    config.vm.box = "precise64" 
    config.vm.box_url = "http://files.vagrantup.com/precise64.box" 
    config.vm.provision :shell, :path => "vagrant/provisioning/init.sh" 
    config.vm.network :forwarded_port, guest: 8000, host: 8000 
end 

III。 /vagrant/provisioning/init.sh

if [ ! -f /home/vagrant/.vm_initialized ] 
then 
    rm -rf /var/www 
    ln -fs /vagrant /var/www 
    touch /home/vagrant/.vm_initialized 
fi 

發生了什麼事?

  • 放浪爲每臺虛擬機創建一個共享文件夾,默認爲需尋求操作系統中,併到你把你的Vagrantfile主機上的文件夾「/無業遊民」。

  • 我們增加了一個條款shell腳本,我們放浪的配置,所以流浪將在/vagrant/provisioning/init.sh引導VM

  • 後運行此我們設置一個符號鏈接共享文件夾/ var/www(只是一個例子,所以我們可以通過apache訪問它,不需要進一步配置)

  • 由於流浪者會在每個「流浪漢」上運行這個,我們必須檢查,如果vm已經初始化if-block in init.sh)

該從哪裏出發?

嗯,你可以用啓動開發服務器:

python /var/www/yourdjangoapp/manage.py runserver 0.0.0.0:8000 

而且應該能夠通過

http://localhost:8000/ 

從您的主機訪問它可以將主機W於編輯項目/你最喜歡的編輯器(放在/ yourdjangoapp中)。

對於新項目創建/複製項目結構。由於Vagrant爲每個項目創建一個新的虛擬機,訪客中的共享文件夾始終鏈接到當前項目的文件夾。

沒有置備

目前例子說明工作我使用的設置。我的init.sh包括安裝包,拉GIT倉庫等等。

當然,你可以省略provising部分,並直接與可在客戶機操作系統/遊民的共享文件夾的工作。所以,你應該能夠與啓動開發服務器:

python /vagrant/yourdjangoapp/manage.py runserver 0.0.0.0:8000 

HTH

基督教