Исключение файлов из развертывается с Capistrano, все еще под контролем версий с Git

голоса
9

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

Задан 01/04/2010 в 06:11
источник пользователем
На других языках...                            


3 ответов

голоса
7

Есть много способов сделать это, вы можете сохранить свои тесты в тестовой ветви приложения, как VonC предложил, но это означало бы, что бы вы сделали все ваши изменения в вашей основной ветви, а затем синхронизировать ее в тестовой ветвь. (Не без его достоинств, но иногда боль)

Вы можете использовать файл .gitignore в каталог.

Любой файл, который вы добавляете к этому не будет добавлен в репозиторий. Так Capistrano просто тянет и сообщения из хранилища, не имея файлы, входящих будет держать их производственный сервер.

И последнее, но не в последнюю очередь, если вы хотите, чтобы тестовые файлы в вашем главном хранилище для управления версиями, вы можете добавить рецепт в свой конфигурационный файл / 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'

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

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

Ответил 01/04/2010 в 16:39
источник пользователем

голоса
4

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

features/ export-ignore
spec/     export-ignore

Справка: https://github.com/capistrano/capistrano/pull/626

Ответил 18/11/2014 в 00:52
источник пользователем

голоса
0

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

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

Ответил 01/04/2010 в 07:00
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more