Процесс сборки / развертывания для большого Flash-проекта?

#flash #apache-flex #deployment #rake #build-automation

#flash #apache-flex #развертывание #грабли #автоматизация сборки

Вопрос:

Я работаю над большим flash-проектом (онлайн-видеоигрой), и мы совсем не довольны нашим текущим процессом сборки / развертывания: он слишком ручной, занимает слишком много времени, и мы легко допускаем ошибки. Мы хотим перейти на более простой, быстрый и автоматический процесс.

Процесс, который нам нужно выполнить для сборки и развертывания новой версии проекта, заключается в следующем:

  1. Для каждого .FLA в проекте (эти FLA-файлы содержат графические ресурсы игры)
    1. Проверьте, не изменился ли он с момента последней компиляции (например, сравнивая измененные даты)
    2. Если он изменился, скомпилируйте его, перезаписав старый SWF
  2. Для каждого ресурса в проекте (SWFS, XML и PNGS):
    1. Зашифруйте файл с помощью нашего пользовательского алгоритма
    2. Запишите его имя, размер и контрольную сумму в текстовый файл
  3. Запустите обфускатор кода в исходном коде проекта
  4. Скомпилируйте запутанный код
  5. Переместите результаты этого процесса на удаленный сервер (возможно, используя rsync?)

Я знаю, что это довольно сложный процесс, но мы хотим максимально автоматизировать его. Мы рассматривали несколько альтернатив, таких как Sprouts, Rake, Maven и Ant, но добиться именно того, чего мы хотим, непросто… Каковы ваши рекомендации? Если у вас был подобный опыт, как вы управляли процессом сборки / развертывания?

Комментарии:

1. Я в замешательстве. Если вы используете . fla s почему вы пометили этот w / Flex? Насколько я знал, не существовало способа «автоматизированной / командной строки» для получения SWF-файла из .fla . После этого шага я ожидаю, что любой из стандартных инструментов сборки должен работать.

2. .fla — это просто графические ресурсы (объекты, пользовательский интерфейс, анимированные персонажи, сценарии и т.д.).

Ответ №1:

Вот несколько идей.

  1. Используйте пакетный компилятор JSFL от Гранта Скиннера для работы с FLA.

  2. Используйте комбинацию Thor () и Sprouts для перебора каталогов, извлечения каждого файла и его шифрования.

  3. Опять же, Тор для итерации и запутывания.

  4. Тор снова для развертывания. (Мне очень нравится Thor) Но вы можете создавать сценарии на Python или с помощью сценария оболочки.

Если нет, то Capistrano?