Я в настоящее время пытаюсь автоматизировать процесс развертывания нашего приложения для направляющих как можно больше, так, чтобы чистое основывалось на сервере CI, может инициировать автоматизированное развертывание на тестовом сервере.
Но я столкнулся с чем-то вроде препятствия со следующим сценарием: Я добавил friendly_id драгоценный камень к приложению. Существует миграция, которая составляет все необходимые таблицы. Но заполнить эти таблицы, я должен назвать задачу граблей.
Теперь, эти грабли, которыми задачи только нужно назвать однажды, таким образом добавив его к сценарию развертывания, были бы излишеством.
Идеально, я ищу что-то как миграции, но вместо базы данных, это должно отслеживать сценарии, которые нужно назвать во время развертывания. Такой зверь уже существует?
Я не могу думать о том, что именно то, что вы хотите, но если вам просто нужно иметь возможность выполнять задачи на удаленных серверах в один из моды, вы всегда можете использовать грабли через Capistrano Отказ
Есть такой вопрос для этого здесь: Как запустить задачу грабли из CAPistrano? , который также ссылается на эту статью http://ananelson.com/said/on/2007 / 12/30 / / 30 / Удаленные грабли-задачи-с-caquistrano / .
Редактировать: Интересно, можно ли создать миграцию, которая не делает никаких изменений базы данных, но просто вызывает задачу грабли? Рейк :: Задача [«Задача: имя»]. Вызвать
. Стоит попробовать?
Я бы считал, что выполнение этой задачей грабля является частью миграции на использование Frience_id. Конечно, вы создали таблицы, но вы еще не закончены! Вы все еще должны выполнять некоторые обновления данных, прежде чем вы по-настоящему мигрируете.
Позвоните за задачу грабли из вашей миграции. Это обновит существующие данные, а новые записи будут обрабатываться вашей логикой приложения в будущем.