Недостающая часть вашей CI/CD-системы
  • Простота
    использования
    Предоставьте Dockerfile и
    Helm-чарт — остальное werf возьмет на себя
  • Один
    инструмент
    Используйте одно решение для сборки образов, запуска тестов, дистрибуции релизных артефактов и развёртывания приложения в Kubernetes
  • Продвинутые
    возможности
    Получайте выгоду от автоматического кэширования, тегирования на основе содержимого, отслеживания ресурсов в Helm и другого
  • Интеграция
    стандартных технологий
    Положитесь на привычные Git, Buildah, Helm, Kubernetes и любимую CI-систему
Что приносит werf в ваш CI/CD
1
Предсказуемость и надежность процесса доставки
  • Детерминированный CI/CD
    What you Git is what you get. werf предлагает подход гитерминизм, который стимулирует IaC и Git как единый источник истины
  • Воспроизводимость сборок
    Синхронизация с container registry. Однажды собранный образ неизменяем, а работа с container registry скоординирована между сборщиками
  • Предсказуемость выката

    Успешный выкат – это готовое к использованию приложение

    Перевыкат только изменившихся компонентов. Теги образов приложения независимы (решение вопроса тегирования образов в монорепозиториях)

  • Диагностика проблем

    Связывание релизных артефактов с Git и CI/CD

    Мгновенная и богатая обратная связь при развёртывании в Kubernetes

2
Эффективность
  • Инкрементальность сборок

    Пересборка только изменившихся образов

    Переиспользование раннее собранных слоёв из container registry

  • Время развёртывания

    Перевыкат только изменившихся компонентов

    Моментальное завершение проблемного выката

Демонстрация
  • werf.yaml
    configVersion: 1 project: hello --- image: hello dockerfile: ./Dockerfile
  • Dockerfile
    FROM node
    WORKDIR /app COPY . . RUN npm ci
    CMD ["node", "server.js"]
  • .helm/templates/deployment.yaml
    apiVersion: apps/v1 kind: Deployment metadata: name: hello spec: selector: matchLabels: app: hello template: metadata: labels: app: hello spec: containers:
    - image: {{ .Values.werf.image.hello }}
Растущее дружелюбное сообщество
Мы всегда на связи с сообществом
в социальных сетях и GitHub.