Взгляните на shlex
модуль, особенно shlex.split
.
>>> import shlex
>>> shlex.split('This is "a test"')
['This', 'is', 'a test']
Я использую SCM для управления моей конфигурацией Hudson. Я сохраняю config.xml верхнего уровня и config.xml для каждого задания. У меня есть небольшой скрипт, который я использую для получения конфигураций из Хадсона и фиксации / добавления / удаления их по мере необходимости (вместе с некоторыми другими прибамбасами, которые упрощают управление конфигурацией).
Повторите замечания Роба Хруски для моя конкретная установка:
При этом все ситуации индивидуальны. Управление, которое я делаю для конфигов, не было (и не предоставляется) бесплатно. Задача cron, которая архивирует все по ночам, определенно дешевле и может быть достаточной.
SCM, вероятно, не лучший инструмент для резервного копирования рабочего пространства Хадсона - это все равно что использовать Subversion для хранения настроек игры или содержимого таблиц базы данных для веб-приложения. Наряду с этим, это не кажется необходимым по следующим причинам:
svn commit
. Поскольку это, вероятно, ручной шаг, он оставляет место для человеческой ошибки. В общем, использование Subversion для этой задачи может показаться немного громоздким. Для резервного копирования я бы рекомендовал просто настроить задание cron, которое выполняет tar cvzf $ HUDSON_HOME
. При желании вы можете опустить каталоги сборки, но это кажется немного ненужным, если у вас достаточно места на диске.
Изменить: Что касается различий между этим и ответом oeuftete , мой ответ основан на моем опыте использования Hudson. Его / ее ответ определенно предлагает другую точку зрения, что приятно. Я определенно согласен с этим в том, что каждая ситуация индивидуальна и может потребовать разных средств для достижения цели.