下我要開始與qUnit我的Rails應用測試JavaScript和我想知道如何保持測試JavaScript和測試運行HTML頁面版本控制(當然,我使用的是Git),但是當我使用Capistrano部署應用程序時,請將它們放在生產服務器上。我的第一個想法是讓Capistrano像往常一樣發送包括測試文件在內的所有代碼,並編寫一個任務在部署過程結束時刪除它們。雖然這看起來像是一種黑客。是否有一種更清晰的方式告訴Capistrano在部署時忽略存儲庫的某些部分?被部署Capistrano的排除文件,同時仍然版本控制使用Git
9
A
回答
4
隨着2013年8月30日,你可以簡單地創建一個.gitattributes
文件和export-ignore
的文件/你所選擇的文件夾。
features/ export-ignore
spec/ export-ignore
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'
,並指定要刪除的文件,這將刪除您部署時所需的任何文件。 :)
上述任何會工作。選擇適合你的方法。
相關問題
- 1. 使用Capistrano部署時保留未版本控制的文件
- 2. Capistrano:共享文件的版本控制/
- 3. 與Capistrano部署Ruby版本時出錯
- 4. 版本控制和部署
- 5. 如何部署無法使用Capistrano進行版本控制的授權字體?
- 6. 使用Git版本控制
- 7. Capistrano - 找到當前部署的版本
- 8. Team Foundation Service + Git內部部署版本控制器
- 9. git:忽略*版本控制的文件
- 10. 使用版本控制,但仍然訪問文件正常的方式
- 11. 使用Capistrano進行部署時Rails 5控制檯不工作
- 12. 使用pem文件部署與capistrano
- 13. 使用capistrano只更新與git,而不是部署全新的版本
- 14. Git仍然試圖推送被忽略和刪除的文件
- 15. 使用本地文件的git版本控制
- 16. Capistrano部署不能複製文件
- 17. capistrano總是部署舊版本?
- 18. Git:忽略版本控制文件
- 19. 部署版本的源控制問題
- 20. Git的部署:在刪除文件時,按文件中刪除
- 21. 使用Git版本控制腳本
- 22. 該文件已被刪除,但仍然存在於git commit中?
- 23. 由於不同的寶石版本,Capistrano /乘客部署失敗
- 24. capistrano deploy_via複製不排除文件
- 25. 如何將已部署的git修訂版寫出到Capistrano的文件中
- 26. 爲什麼Capistrano在部署時刪除.git存儲庫?
- 27. Capistrano部署超時
- 28. Git版本分別控制版本庫中的文件
- 29. 服務版本控制部署策略
- 30. TFS複製和部署:使用minimatch排除文件
我沒有看到你的時候答案。 +1 – VonC 2010-04-12 12:28:22
謝謝馮。欣賞它。 – 2010-04-12 15:23:26
@VonC&Dustin - 如果您的cap文件位於您的部署庫中,但您不希望它們位於生產服務器上,您會如何處理?他們將部署到發佈/ variable_directory_name – csi 2014-02-28 16:27:59