Я работаю над довольно маленьким приложением веб-сайта, и мы просто работаем над улучшением нашего развертывания (улучшающийся, оно от "проводит день, настраивая все модули, в которых мы нуждаемся в Windows и затем бросаем файлы в него, пока все не работает", таким образом, это - некоторое улучшение).
у Нас есть три вещи, которые нам нужно выполнение для установки нашего веб-сайта:
Module::Starter
, содержа Config
модуль, который содержит по всему сайту параметры конфигурации. На установке, этот модуль (использующий MakeMaker
PREREQ_PM
, чтобы проверить, что все модули мы требуем, были уже установлены). Могут быть установлены любые модули, которые не имеют потребности, которая будет установлена перед этим модулем. Развертывание состоит во мне вытягивающий от общих ответвлений Мерзавца и упаковывающий версию. Мы можем тогда передать это для тестирования, или локально или на экземпляре Amazon EC2. Как только нас хорошо выпустить, мы или установить его по последней версии, или переместить базу данных в экземпляр тестирования и сделать что новый экземпляр.
Сравнение этого к Вашим критериям:
grep
луг для строк, запускающихся с use
, например). prove
непосредственно. CPAN
, EU::MM
и другие, работающие хорошо через все системы, и это кажется позором для траты его. , Обратите внимание, это действительно , простой веб-сайт, никакой XS, усложнил веб-платформу или любой такой. Мы также только поддерживали эту установку приблизительно через две версии, таким образом, у нас нет достаточного опыта относительно того, как это собирается работать, поскольку код становится более сложным, и наши платформы развертывания становятся более варьировавшимися. Я был бы очень признателен за любые предложения или комментирую нашу систему.
Я сделаю что-то вроде этого:
List<String> order = List.of("Red", "Green", "Magenta", "Silver");
Comparator.comparing(Car::getColor(), Comparator.comparingInt(c -> order.indexOf(c)))
Все кредиты переходят к @Sean Patrick Floyd :) [112 лет]