2014-06-25 55 views
1

我是一位長期的Django開發人員,在過去18個月使用Vagrant後纔開始使用Ansible。從歷史上看,我創建了一個用於開發所有項目的單個VM,並將我創建的可重用Django應用程序(Python包)鏈接到site-packages目錄。可重複使用的Django應用程序+ Ansible provisioning

我有我的最新的Django項目工作的dev的盒子,但我真的不能更改我自己的可重複使用的應用程序,而無需這些更改複製回一個Git回購。這是我的理想的方案:

  1. 我結帳我需要開發作爲我工作的
  2. 的網站,我有一些方式(符號鏈接或更好的方法)中的Git子模塊告訴Ansible設置的所有軟件包複選框並從這些Git的安裝我的包子模塊
  3. 我跑vagrant upvagrant provision
  4. 它讀取requirements.txt並安裝剩下的軟件包(如南,枕頭等東西),但它跳過我的一套工具,因爲它知道他們已經安裝了

我希望這是有道理的。基本上,想象我正在開發Django。我如何告訴流浪漢(通過Ansible,我假設)找到我的Django本地副本,而不是PyPi中的副本?

目前我能想到這樣做的唯一的辦法就是爲每個我開發包創建符號鏈接的個人,但我敢肯定有一個更合理的模型。

謝謝!

回答

0

你應該稍微想一想。您創建一個將Ansible指定爲供應者的Vagrant文​​件。在該流氓文件中,您還可以指定用於vagrant provision部分的劇本。

如果您的手冊是以冪等方式編寫的,那麼多次運行它們將跳過已經匹配所需狀態的步驟。 您還應該考慮虛擬機的所需最終狀態應該是什麼樣子,並編寫劇本來實現這一目標。除非我誤解了某些內容,否則您的所有操作手冊操作都應該發生在虛擬機內部,而不是直接在本地計算機上進行。

+0

謝謝@Mxx,但我可能沒有解釋我需要的東西。 –

+0

也許如此。嘗試編輯您的問題以擴展您所要求的內容。 :( – Mxx

+0

我有一個用Django編寫的網站,我正在開發一個虛擬機,使用Ansible配置它,並使用'manage.py runserver'。我編寫了一個Python軟件包,它將一個博客添加到Django網站,我需要對它進行一些更改,目前該博客模塊是從Python Packaging Index安裝的,並且我做出的任何更改將不會被取消,並且b)如果我銷燬了該框,則會消失。所以我問的是當我在虛擬機上工作時,能夠開發我的博客模塊的最佳方式是什麼?謝謝! –

相關問題