Documentation of Werf comprises ~100 articles which include common use cases (getting started, deploy to Kubernetes, CI/CD integration and more), comprehensive description of its functions & architecture, as well as CLI, commands.
We recommend to start discovering from our Guides section:
- Installation describes Werf dependencies and different installation methods.
- Getting started helps to start using Werf with regular Dockerfile. Take your project and put into Werf easily just now.
- Deploying into Kubernetes is a short example of application deployment.
- GitLab CI/CD integration is all about integration with GitLab: build, publish, deployment and scheduled Docker registry cleanup.
- Unsupported CI/CD integration is about plugging werf into CI/CD system that is not officially supported.
- Advanced build section is about our image description syntax to take advantage of incremental rebuilds based on git history and other carefully crafted tools. Recommend to start reading from First application guide.
The next step is Configuration section.
To use Werf an application should be configured in
This configuration includes:
- Definition of project meta information such as project name, which will affect build, deploy and other commands.
- Definition of the images to be built.
In the Overview article you can find information about:
- Structure and config sections.
- Organization approaches.
- Config processing steps.
- Supported Go templates functions.
Reference section is dedicated to Werf main processes:
Each article describes a certain process: process composition, available options and features.
Also, this section includes articles with base primitives and general tools:
Werf is a CLI utility, so if you want to find a description of both basic commands needed to provide the CI/CD process and service commands that provide advanced functionality — use CLI Commands section.
Development section contains service and maintenance manuals and other docs which help developers to understand how some werf subsystem works, how to maintain some subsystem in the actual state, how to write and build new code for the werf, etc.