Компания Yahoo объявила (https://yahooeng.tumblr.com/post/155765242061/open-sourcing-...) об открытии исходных текстов проекта Screwdriver (http://screwdriver.cd/), в рамках которого развивается сборочная платформа с реализацией концепции непрерывной доставки (Continuous delivery (https://en.wikipedia.org/wiki/Continuous_delivery) - CD). Платформа предоставляет средства для создания приложений в рамках сокращённого цикла разработки с постоянно стабилизированной кодовой базой, готовой к релизу в любой момент времени. Код платформы написан на JavaScript (отдельные компоненты на Go) и распространяется (https://github.com/screwdriver-cd) под лицензией BSD.Screwdriver позволяет организовать непрерывный выпуск обновлений продукта, интервал между которыми минимален, проводя сопутствующее тестирование и сборку, гарантирующих сохранение стабильности после внесения каждого изменения. Частые релизы дают возможность разработчикам более оперативно реагировать на потребности пользователей и сохранять постоянно высокий уровень качества продукта. Из особенностей Screwdriver отмечается упрощение цикла подготовки продукта к распространению (все действия по созданию продукта после внесения изменений автоматизированы), оптимизация для поддержания разработки trunk-ветки и возможность простого отката изменений.
При разработке с использованием Screwdriver, изменения оформляются в виде Pull-запросов, которые перед включением к репозиторий проходят рецензирование, тестирование и проверку сборкой. Платформа Screwdriver развивается уже более 5 лет и изначально создавалась как надстройка над системой непрерывной интеграции Jenkins, но в последствие трансформировалась в обособленный продукт. В Yahoo платформа Screwdriver обеспечивает более 25 тысяч сборок в день в ответ на более 12 тысяч ежедневных коммитов в git-репозиториях Yahoo.
Из ключевых компонентов Screwdriver отмечаются фронтэнд для организации взаимодействия с пользователем, API для оркестровки операций сборки и движки для организации сборки кодовой базы и запуска тестов в изолированных контейнерах или виртуальных машинах, для формирования которых могут использоваться различные инструментарии (Docker Swarm, Kubernetes и т.п.).
В ближайшие месяцы дополнительно планируется открыть ряд надстроек, используемых во внутренних проектах Yahoo, таких как механизм сохранения структурированных сборочных данных для дальнейшего использования, встроенные средства накопления метрик, шаблоны для быстрого развёртывания и компоненты для анализа сборочных логов.
URL: https://yahooeng.tumblr.com/post/155765242061/open-sourcing-...
Новость: https://www.opennet.ru/opennews/art.shtml?num=45844