• Ease of use
    Create your Dockerfile and Helm chart, and let werf handle all the rest
  • A single, all-in-one tool
    Build images, run tests, distribute release artifacts, and deploy the application to Kubernetes using a unified, all-in-one tool
  • Advanced features
    Take advantage of automatic caching, content-based tagging, resource tracking in Helm, and more
  • Gluing technologies
    Rely on Git, Buildah, Helm, Kubernetes, and your
    CI system of choice
What werf brings to your CI/CD
Predictable and reliable delivery process
  • Deterministic CI/CD
    What you Git is what you get. werf introduces Giterminism that encourages an IaC approach and the use of Git as a single source of truth
  • Reproducible builds
    Synchronization with the container registry. Once built, the image is immutable, while builders use the container registry in a coordinated fashion
  • Predictable deployment

    A successful deployment means that an application is up and running

    Redeploying only the components that have been modified. Application image tags are independent (this solves the issue of image tagging in monorepos)

  • Easier troubleshooting

    Linking release artifacts to Git and CI/CD

    Instant and detailed feedback when deploying to Kubernetes

  • Incremental builds

    Rebuilding only the components that have been modified

    Reusing the existing layers found in the container registry

  • Deployment time

    Redeploying only the components that have been modified

    Instant termination of a troubled deployment process

How it works
  • 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 }}
Friendly and rapidly growing community
werf’s developers are always in contact with the community.
You can reach us on social media and GitHub.