Jim*_*dra 9 git deployment capistrano ruby-on-rails qunit
我想开始使用qUnit在我的Rails应用程序中测试JavaScript,我想知道如何将测试JavaScript和测试运行器HTML页面保持在版本控制之下(当然我正在使用Git)但是当他们将它们从生产服务器上移开时我使用Capistrano部署应用程序.我的第一个想法是让Capistrano像往常一样发送所有代码,包括测试文件,并编写一个任务,在部署过程结束时删除它们.不过,这看起来像是一种黑客攻击.有没有更简洁的方法告诉Capistrano在部署时忽略存储库的某些部分?
有很多方法可以实现这一点,您可以像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'
Run Code Online (Sandbox Code Playgroud)
并指定要删除的文件,这将删除部署时所需的任何文件.:)
以上任何一种都可行.选择适合您的方法.
自 2013 年 8 月 30 日起,您只需创建一个.gitattributes文件和export-ignore您选择的文件/文件夹即可。
features/ export-ignore
spec/ export-ignore
Run Code Online (Sandbox Code Playgroud)
参考:https : //github.com/capistrano/capistrano/pull/626
| 归档时间: |
|
| 查看次数: |
3818 次 |
| 最近记录: |