2010-04-01 49 views
9

下我要開始與qUnit我的Rails應用測試JavaScript和我想知道如何保持測試JavaScript和測試運行HTML頁面版本控制(當然,我使用的是Git),但是當我使用Capistrano部署應用程序時,請將它們放在生產服務器上。我的第一個想法是讓Capistrano像往常一樣發送包括測試文件在內的所有代碼,並編寫一個任務在部署過程結束時刪除它們。雖然這看起來像是一種黑客。是否有一種更清晰的方式告訴Capistrano在部署時忽略存儲庫的某些部分?被部署Capistrano的排除文件,同時仍然版本控制使用Git

回答

0

你可以在一個測試分支這些測試(在其上的任何測試之前合併的主要分支)

這樣一來,當你問Capistrano的部署什麼是對你的主要分支,沒有任何形式的測試被包括在內。

7

有很多方法可以做到這一點,你可以保持你的測試在應用程式,例如VonC建議的測試分支,但是這將意味着你就可以把所有的變化,你的主要分支,然後將其同步到您的測試科。 (並非沒有可取之處,但有時疼痛)

可以使用的.gitignore文件到您的目錄。

您添加到這個的任何文件不會被添加到您的存儲庫。由於capistrano僅從您的存儲庫中提取併發布帖子,因此如果沒有包含這些文件將會阻止您的生產服務器。

最後但並非最不重要的,如果你想在你的版本控制主存儲庫中的測試文件,可以在配方添加到您的config/deploy.rb文件..是這樣的:

desc "Remove Test Files" 
    task :remove_test_files , :roles => :web do 
     sudo %{rm -f #{current_path}/public/javascripts/testfile.js} 
     sudo %{rm -f #{current_path}/public/javascripts/anothertestfile.js} 
    end 

after 'deploy:remove_test_files' 

,並指定要刪除的文件,這將刪除您部署時所需的任何文件。 :)

上述任何會工作。選擇適合你的方法。

+0

我沒有看到你的時候答案。 +1 – VonC 2010-04-12 12:28:22

+0

謝謝馮。欣賞它。 – 2010-04-12 15:23:26

+0

@VonC&Dustin - 如果您的cap文件位於您的部署庫中,但您不希望它們位於生產服務器上,您會如何處理?他們將部署到發佈/ variable_directory_name – csi 2014-02-28 16:27:59

相關問題