«Флант» представляет dapp — свою Open Source-утилиту для DevOps и CI/CD
Выстраивая процессы CI/CD (Continuous Integration и Continuous Delivery) в работе над различными проектами (подробнее о том, как мы это делаем, читайте здесь), мы пришли к необходимости инструмента, упрощающего, улучшающего и автоматизирующего выполнение ряда рутинных операций в стеке используемых нами технологий и продуктов: Git, Chef, Docker и Kubernetes. Так появился проект dapp, возможностями которого мы хотим поделиться со всем профессиональным сообществом.
Итак, dapp — это утилита для реализации и сопровождения процессов CI/CD, призванная упростить DevOps-инженерам разработку кода для сборки, уменьшить время ожидания сборки по очередному коммиту и автоматизировать деплой. На данный момент dapp обладает:
- развитой системой сборки образов Docker-контейнеров, которая благодаря специально предусмотренным возможностям: реализации паттерна из 4 стадий, кэшам, внешнему контексту, артефактам, продуманной работе с Git (подробнее о них читайте здесь) — выполняется по-настоящему быстро и эффективно;
- начальной поддержкой деплоя, которая обеспечивает развёртывание инфраструктуры в Kubernetes по переданным YAML-конфигурациям (с помощью Helm) и запуск контейнеров уже в этой инфраструктуре;
- поддержкой системы управления конфигурациями Chef для реализации подхода IaC («инфраструктура как код»), благодаря которой создаваемые Docker-образы могут настраиваться по рецептам Chef (cookbooks).
Из планов на обозримое будущее — поддержка системы Ansible, развитие возможностей деплоя до полного цикла CI/CD.
Более подробную информацию о dapp можно получить из следующих источников:
- «Собираем Docker-образы для CI/CD быстро и удобно вместе с dapp (обзор и видео)»: статья в блоге и видео с выступления технического директора АО «Флант» Дмитрия Столярова;
- официальная техническая документация на русском языке — flant.github.io/dapp;
- официальная группа поддержки в Telegram — dapp_ru.
Мы используем dapp для решения задач в production с прошлого года и считаем, что эта технология созрела для более массового использования. Исходный код проекта написан на языке Ruby и опубликован в GitHub под свободной лицензией (Apache License v2). Приглашаем DevOps-специалистов и Open Source-энтузиастов, заинтересованных в применении dapp, к участию в проекте: мы будем рады вашим вопросам, историям успеха, issues и pull requests.
Основные разработчики dapp в компании «Флант» — Алексей Игрычев, Тимофей Кириллов, Иван Михейкин, Дмитрий Столяров.