下我要开始与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. Team Foundation Service + Git内部部署版本控制器
- 5. git:忽略*版本控制的文件
- 6. 使用版本控制,但仍然访问文件正常的方式
- 7. Git仍然试图推送被忽略和删除的文件
- 8. 使用capistrano只更新与git,而不是部署全新的版本
- 9. 使用本地文件的git版本控制
- 10. 部署版本的源控制问题
- 11. Git的部署:在删除文件时,按文件中删除
- 12. 由于不同的宝石版本,Capistrano /乘客部署失败
- 13. 为什么Capistrano在部署时删除.git存储库?
- 14. Capistrano部署超时
- 15. Git版本分别控制版本库中的文件
- 16. 服务版本控制部署策略
- 17. TFS复制和部署:使用minimatch排除文件
- 18. Capistrano部署使用Passenger不改变版本
- 19. 用capistrano和rvm-capistrano部署
- 20. Capistrano部署删除表
- 21. 不要在git中同步版本控制文件
- 22. 使用Capistrano部署到rbenv时出错
- 23. 使用Webby和Capistrano部署
- 24. 使用Git部署更改的文件
- 25. Capistrano的部署
- 26. Capistrano部署我的应用程序的错误版本
- 27. Capistrano的3去除git的文件夹
- 28. 使用powershell和svn删除未版本控制的文件
- 29. 忽略capistrano部署中的文件
- 30. Capistrano - 部署与git共享存储库
我没有看到你的时候答案。 +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