Исключение файлов из развертывания с Capistrano, пока они находятся под контролем версий с помощью Git - PullRequest
9 голосов
/ 01 апреля 2010

Я хочу начать тестирование JavaScript в моих Rails-приложениях с помощью qUnit, и мне интересно, как сохранить тестовый JavaScript и HTML-страницу тестового бегуна под контролем версий (я, конечно, использую Git), но не включать рабочий сервер, когда я развертываю приложение с Capistrano. Моя первая мысль - позволить Capistrano отправлять весь код как обычно, включая тестовые файлы, и написать задачу по их удалению в конце процесса развертывания. Хотя это похоже на взлом. Есть ли более чистый способ сказать Capistrano игнорировать определенные части хранилища при развертывании?

Ответы [ 3 ]

7 голосов
/ 01 апреля 2010

Есть много способов сделать это, вы можете сохранить свои тесты в тестовой ветке приложения, как предложил 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'

И укажите файлы, которые вы хотите удалить, это удалит все файлы, которые вы хотите при развертывании. :)

Любое из перечисленного будет работать. Выберите метод, который работает для вас.

4 голосов
/ 18 ноября 2014

С 30 августа 2013 года вы можете просто создать .gitattributes файл и export-ignore файлы / папки на ваш выбор.

features/ export-ignore
spec/     export-ignore

Ссылка: https://github.com/capistrano/capistrano/pull/626

0 голосов
/ 01 апреля 2010

Эти тесты могут быть в тестовой ветке (в которую вы объединяете основную ветвь перед любым тестом)

Таким образом, когда вы просите Capistrano развернуть то, что находится в вашей основной ветке, никакой тест не включается.

...