Vagga - утилита командной строки для управления контейнерами во время разработки.
Основные изменения в версии 0.7:
- Persistent volumes - подключение директорий для хранения постоянных данных.
- Поддержка docopt для команд - теперь вы можете запускать процессы супервайзера передавая им опции.
- Изоляция сети - возможность запуска команды в изолированном сетевом окружении (особенно полезно для запуска тестов на общем CI сервере).
Основные особенности Vagga:
- Конфигурация контейнеров и команд проекта в едином файле vagga.yaml (для больших проектов есть возможность разбиения на несколько конфигурационных файлов и подключения их в основной конфиг).
- Автоматическая пересборка контейнеров при изменении зависимостей (может быть несколько версий одного контейнера).
- Скорость сборки контейнеров, благодаря кешированию дистрибутивных пакетов, а также пакетов npm, pip, composer, gem. При установке пакетов Ubuntu отключается fsync, что также сильно ускоряет сборку.
- Супервизор для запуска нескольких процессов одной командой.
- Отсутствие демона - vagga нацелена на удобную и простую работу из командной строки.
- Не требует привилегий администратора (но требуется ядро собранное с опцией CONFIG_USER_NS).
- Контейнер - это просто директория на файловой системе, что упрощает настройку редакторов для навигации по зависимостям проекта.
>>> Подробности