2012-10-17 41 views
0

我目前正在Django上開發幾個網站,它需要一些Django應用程序。比方說,我有兩個Django項目:web1和web2(網站,每個都有一個git回購)。 web1和web2都有不同的已安裝應用程序列表,但都是使用我開發的一個(或多個)應用程序,例如「MyApp」(也有一個git回購)。我的問題是:Git,Django和可插拔應用程序

  1. 什麼是從任何特定的網站分離MyApp的最佳方式是什麼?我想要的是獨立開發MyApp,但讓每個網站都使用最新版本的應用程序(當然,如果安裝了它)。我有兩個「建議」解決方案:在每個網站上使用符號鏈接到「主」MyApp文件夾,或者使用git從MyApp推送到每個網站的回購。

  2. 如何使用此設置進行部署?現在,我可以將web1和web2的git repo推送到我的共享主機帳戶中的遠程回購站,它就像一個魅力一樣。這個比例是否足夠?

我覺得我有一個總體思路,但我不確定具體情況。這不會創建一個嵌套的git回購問題嗎? git如何處理simlink,特別是如果符號鏈接目標中有一個.git文件夾?

回答

4

的方式我的工作:

每個網站都有它自己的git倉庫每個應用程序都有它自己的回購協議。每個網站也有它自己的virtualenvrequirements.txt。儘管2個網站現在可能會共享最新版本的MyApp,但它們未來可能不會(也許您還沒有收到其中一個網站更新了某些API的更新)。

如果您確實必須只有一個版本的MyApp,您可以在系統級別安裝它,然後將它鏈接到每個項目的virtualenv

對於本地機器(而非生產)的開發,我做的有點不同。我將應用程序的項目文件夾符號鏈接到網站的virtualenv中的「src」文件夾中,然後將python setup.py develop插入到virtualenv中,以便最新的更改始終在網站上「實時」使用。

+0

謝謝,這似乎是一個理想的解決方案。 –

相關問題