Новости разработки
Последние релизы
Что это?

Инструмент
консистентной
доставки

  • CLI-утилита, «склеивающая» Git, Docker, Helm и Kubernetes
    с любой CI-системой для реализации CI/CD и подхода гитерминизм.
Зачем нужно?

Быстрый
и эффективный
CI/CD

  • Создавайте эффективные, предсказуемые и целостные
    CI/CD-процессы на базе устоявшихся технологий.
  • С werf быстро начать работу, легко применять
    лучшие практики и не нужны велосипеды.
Как работает?

What you Git
is what you get!

  • Git используется как единый источник истины («гитерминизм»).
  • werf не только собирает и деплоит, но и непрерывно
    синхронизирует изменения в Git с состоянием Kubernetes.
1
Желаемое состояние
определяется в Git
2
Приводит registry
к желаемому состоянию
  1. Собирает образы (при изменениях)
  2. Публикует образы (при необходимости)
3
Приводит Kubernetes
к желаемому состоянию
  1. Выкатывает Helm-чарт (с необходимыми образами)
  2. Отслеживает прогресс вплоть до успешного выката (и дает обратную связь)

Это как GitOps,
но лучше!

Werf вводит понятие гитерминизм: используя Git как единый источник истины позволяет добиться детерминированного и идемпотентного процесса доставки по всему пайплайну.
  • Два варианта деплоя
    werf даёт 2 варианта деплоя приложений:
    1. converge приложения из git-коммита в кластер Kubernetes;
    2. публикация приложения из git-коммита в Container Registry в виде бандла, затем деплой этого бандла в Kubernetes.
  • Гибкое взаимодействие
    Разные способы взаимодействия c werf:
    1. вручную;
    2. из CI/CD системы;
    3. как оператор Kubernetes (пока недоступно...);
    4. через git push как в heroku (пока недоступно...).
  • Консольная утилита
    werf — это не SAAS, а самодостаточная CLI-утилита с открытым кодом, запускаемая на стороне клиента. Werf можно использовать как для локальной разработки, так и для встраивания в любую CI/CD-систему (GitLab CI/CD, GitHub Actions, Jenkins, CircleCI и т.д.), оперируя основными командами как составляющими пайплайна:
    • werf converge;
    • werf dismiss;
    • werf cleanup;
    • werf bundle publish;
    • werf bundle apply.
  • Простая в использовании
    werf работает «из коробки» с минимальной конфигурацией. Вам не нужно быть DevOps/SRE-инженером, чтобы использовать werf. Доступно множество гайдов, которые помогут быстро организовать деплой приложений в Kubernetes.
  • Объединяет лучшее
    werf связывает привычные инструменты, превращая их в понятую, целостную, интегрированную CI/CD-платформу. werf делает хорошо контролируемым и удобным взаимодействие Git, Docker, вашего container registry и существующей CI-системы, Helm и Kubernetes.
  • Распределенная сборка
    В werf реализован продвинутый сборщик, среди возможностей которого — алгоритм распределенной сборки. Благодаря нему и его распределенному кэшированию ваши пайплайны становятся по-настоящему быстрыми.
  • Встроенная очистка
    Продуманный алгоритм очистки неиспользуемых Docker-образов в werf основан на анализе Git-истории собираемых приложений.
  • Расширенный Helm
    В werf встроен бинарник helm, который реализует процесс деплоя, совместимый с Helm, и расширяет его возможности. С ним не требуется отдельная установка helm, а его дополнения обеспечивают детальные и понятные логи при деплое, быстрое определение сбоев во время деплоя, поддержку секретов и другие фичи, превращающие деплой в понятный и надежный процесс.
  • Open Source
    Код открыт и написан на Go. За годы развития проекта у него сформировалось большое сообщество пользователей.
Активная разработка
  • 4
    релиза в неделю
    в среднем за прошлый год
  • 2000+
    инсталляций
    в больших и маленьких проектах
  • 2100
    звезд на GitHub
    поддержите проект ;)
werf — это зрелый, надежный
инструмент, которому можно доверять
Подробнее об уровнях стабильности и релизах
Растущее дружелюбное сообщество
Мы всегда на связи с сообществом
в Telegram, Twitter и GitHub Discussions.
Исчерпывающая документация
Документация содержит более 100 статей, включающих описание частых случаев (первые шаги, деплой в Kubernetes, интеграция с CI/CD-системами и другое), полное описание функций, архитектуры и CLI-команд.