<commit_before>---
title: Installation
permalink: installation.html
layout: default
description: How to install werf?
versions:
  - 1.2
  - 1.1
  - 1.0
channels:
  - alpha
  - beta
  - ea
  - stable
  - rock-solid
---

{%- asset installation.css %}

<div class="page__container page_installation">

  <div class="installation-selector-row">
    <div class="installation-selector">
      <div class="installation-selector__title">Version</div>
      <div class="tabs">
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="version" data-install-tab="1.2">1.2</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="version" data-install-tab="1.1">1.1</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="version" data-install-tab="1.0">1.0</a>
      </div>
    </div><!-- /selector -->
    <div class="installation-selector">
      <div class="installation-selector__title">Stability channel</div>
      <div class="tabs">
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="rock-solid">Rock-Solid</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="stable">Stable</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="ea">Early-Access</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="beta">Beta</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="alpha">Alpha</a>
      </div>
    </div><!-- /selector -->
    <div class="installation-selector">
      <div class="installation-selector__title">OS</div>
      <div class="tabs">
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="os" data-install-tab="linux">Linux</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="os" data-install-tab="macos">Mac OS</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="os" data-install-tab="windows">Windows</a>
      </div>
    </div><!-- /selector -->
  </div><!-- /selector-row -->
  <div class="installation-selector-row">
    <div class="installation-selector">
      <div class="installation-selector__title">Installation method</div>
      <div class="tabs">
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="method" data-install-tab="multiwerf">using multiwerf (recommended)</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="method" data-install-tab="binary">downloading binary package</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="method" data-install-tab="source">compiling from source</a>
      </div>
    </div><!-- /selector -->
  </div><!-- /selector-row -->

  <div class="installation-instruction">
      <h1 class="installation-instruction__title">
        Install <span data-install-info="channel"></span> werf <span data-install-info="version"></span><br>
        for <span data-install-info="os"></span> by <span data-install-info="method"></span>
      </h1>
      <div class="docs">
<div class="details">
<h2 name="install-dependencies"><a href="javascript:void(0)" class="details__summary">Install dependencies</a></h2>
<div class="details__content" markdown="1">
{% include en/installation/multiwerf_dependencies.md %}
</div>
</div>
<h2>Install werf</h2>
<div class="installation-instruction__tab-content" data-install-content-group="method" data-install-content="multiwerf">
<h3>Installing multiwerf</h3>
<div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="linux">
  {% for version in page.versions %}
    <div class="installation-instruction__tab-content" data-install-content-group="version" data-install-content="{{ version }}">
      {% for channel in page.channels %}
        <div class="installation-instruction__tab-content" data-install-content-group="channel" data-install-content="{{ channel }}">
<div markdown="1">{% include en/installation/multiwerf_unix.md version=version channel=channel %}</div>
<div class="details">
<h2><a href="javascript:void(0)" class="details__summary">How to use in the CI/CD system?</a></h2>
<div class="details__content" markdown="1">
{% include en/installation/multiwerf_unix/how_to_use_in_the_ci_cd.md version=version channel=channel %}
</div>
</div>
        </div>
      {% endfor %}
    </div>
  {% endfor %}
</div><!-- /os -->
<div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="macos">
  {% for version in page.versions %}
    <div class="installation-instruction__tab-content" data-install-content-group="version" data-install-content="{{ version }}">
      {% for channel in page.channels %}
        <div class="installation-instruction__tab-content" data-install-content-group="channel" data-install-content="{{ channel }}">
<div markdown="1">{% include en/installation/multiwerf_unix.md version=version channel=channel %}</div>
<div class="details">
<h2><a href="javascript:void(0)" class="details__summary">How to use in the CI/CD system?</a></h2>
<div class="details__content" markdown="1">
{% include en/installation/multiwerf_unix/how_to_use_in_the_ci_cd.md version=version channel=channel %}
</div>
</div>
        </div>
      {% endfor %}
    </div>
  {% endfor %}
</div><!-- /os -->
<div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="windows">
  {% for version in page.versions %}
    <div class="installation-instruction__tab-content" data-install-content-group="version" data-install-content="{{ version }}">
      {% for channel in page.channels %}
        <div class="installation-instruction__tab-content" data-install-content-group="channel" data-install-content="{{ channel }}">
<div markdown="1">{% include en/installation/multiwerf_windows.md version=version channel=channel %}</div>
        </div>
      {% endfor %}
    </div>
  {% endfor %}
</div><!-- /os -->

<div class="details">
<h2><a href="javascript:void(0)" class="details__summary">How it works?</a></h2>
<div class="details__content" markdown="1">
{% include en/installation/how_it_works.md %}
</div>
</div>
      </div><!-- /method -->
      <div class="installation-instruction__tab-content" data-install-content-group="method" data-install-content="binary">
<div markdown="1">
The latest release can be found [at this page](https://bintray.com/flant/werf/werf/_latestVersion)
</div>
        <div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="linux">
<div markdown="1">
{% include installation/binary_linux.md %}
</div>
        </div>
        <div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="macos">
<div markdown="1">
{% include installation/binary_macos.md %}
</div>
        </div>
        <div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="windows">
<div markdown="1">
{% include installation/binary_windows.md %}
</div>
        </div>
      </div><!-- /method -->
      <div class="installation-instruction__tab-content" data-install-content-group="method" data-install-content="source">
<div markdown="1">
{% include installation/source.md %}
</div>
      </div><!-- /method -->
    </div>
  </div>

  <div class="installation-channels">
    <h2 class="installation-channels__title" name="all-changes-in-werf-go-through-all-stability-channels">
      All changes in werf<br>
      go through all stability channels
    </h2>
    <ul class="installation-channels__channels">
      <li class="installation-channels__channel">
        <div class="installation-channels__channel-title">
          Alpha
        </div>
        <div class="installation-channels__channel-description">
          can bring new features<br>
          but can be unstable
        </div>
      </li>
      <li class="installation-channels__channel installation-channels__channel_beta">
        <div class="installation-channels__channel-title">
          Beta
        </div>
        <div class="installation-channels__channel-description">
          for more broad testing<br>
          of new features to catch<br>
          regressions
        </div>
      </li>
      <li class="installation-channels__channel installation-channels__channel_ea">
        <div class="installation-channels__channel-title">
          Early-Access
        </div>
        <div class="installation-channels__channel-description">
          is mostly safe and can be used<br>
          in non-critical environments<br>
          or for local development
        </div>
      </li>
      <li class="installation-channels__channel installation-channels__channel_stable">
        <div class="installation-channels__channel-title">
          Stable
        </div>
        <div class="installation-channels__channel-description">
          is mostly safe and we<br>
          encourage you to use<br>
          this version everywhere
        </div>
      </li>
      <li class="installation-channels__channel installation-channels__channel_rocksolid">
        <div class="installation-channels__channel-title">
          Rock-Solid
        </div>
        <div class="installation-channels__channel-description">
          the most stable channel<br>
          and recommended for usage<br>
          in critical environments with tight SLA
        </div>
      </li>
    </ul>
    <div class="installation-channels__info">
      <div class="installation-channels__info-versions">
        <p>When using release channels, you do not specify a&nbsp;version, because the version is&nbsp;managed automatically within the&nbsp;channel Stability channels and&nbsp;frequent releases allow receiving continuous feedback on&nbsp;new changes, quickly rolling problem changes back, ensuring the&nbsp;high stability of&nbsp;the&nbsp;software, and&nbsp;preserving an&nbsp;acceptable development speed at&nbsp;the&nbsp;same time.</p>
        <p>The relations between channels&nbsp;and werf releases are&nbsp;described in&nbsp;<a href="https://github.com/werf/werf/blob/multiwerf/multiwerf.json">multiwerf.json</a>.</p>
      </div>
      <div class="installation-channels__info-guarantees">
        <div class="installation-channels__info-guarantee">
          <strong>We guarantee</strong> that <i>Early-Access</i> release should become <i>Stable</i> not earlier than 1 week after internal tests.
        </div>
        <div class="installation-channels__info-guarantee">
          <strong>We guarantee</strong> that <i>Stable</i> release should become <i>Rock-Solid</i> release not earlier than after 2 weeks of&nbsp;extensive testing.
        </div>
      </div>
    </div>
  </div>
  <div class="installation-compatibility">
    <h2 class="installation-compatibility__title" name="backward-compatibility-promise">Backward compatibility promise</h2>
<div markdown="1" class="docs">
{% include en/installation/backward-compatibility.md %}
</div>
  </div>
</div>
<commit_msg>[docs] Fix broken links check failed<commit_after>---
title: Installation
permalink: installation.html
layout: default
description: How to install werf?
versions:
  - 1.2
  - 1.1
  - 1.0
channels:
  - alpha
  - beta
  - ea
  - stable
  - rock-solid
---

{%- asset installation.css %}

<div class="page__container page_installation">

  <div class="installation-selector-row">
    <div class="installation-selector">
      <div class="installation-selector__title">Version</div>
      <div class="tabs">
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="version" data-install-tab="1.2">1.2</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="version" data-install-tab="1.1">1.1</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="version" data-install-tab="1.0">1.0</a>
      </div>
    </div><!-- /selector -->
    <div class="installation-selector">
      <div class="installation-selector__title">Stability channel</div>
      <div class="tabs">
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="rock-solid">Rock-Solid</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="stable">Stable</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="ea">Early-Access</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="beta">Beta</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="channel" data-install-tab="alpha">Alpha</a>
      </div>
    </div><!-- /selector -->
    <div class="installation-selector">
      <div class="installation-selector__title">OS</div>
      <div class="tabs">
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="os" data-install-tab="linux">Linux</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="os" data-install-tab="macos">Mac OS</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="os" data-install-tab="windows">Windows</a>
      </div>
    </div><!-- /selector -->
  </div><!-- /selector-row -->
  <div class="installation-selector-row">
    <div class="installation-selector">
      <div class="installation-selector__title">Installation method</div>
      <div class="tabs">
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="method" data-install-tab="multiwerf">using multiwerf (recommended)</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="method" data-install-tab="binary">downloading binary package</a>
        <a href="javascript:void(0)" class="tabs__btn"
          data-install-tab-group="method" data-install-tab="source">compiling from source</a>
      </div>
    </div><!-- /selector -->
  </div><!-- /selector-row -->

  <div class="installation-instruction">
      <h1 class="installation-instruction__title">
        Install <span data-install-info="channel"></span> werf <span data-install-info="version"></span><br>
        for <span data-install-info="os"></span> by <span data-install-info="method"></span>
      </h1>
      <div class="docs">
<div class="details">
<h2 name="install-dependencies"><a href="javascript:void(0)" class="details__summary">Install dependencies</a></h2>
<div class="details__content" markdown="1">
{% include en/installation/multiwerf_dependencies.md %}
</div>
</div>
<h2 id="install-werf">Install werf</h2>
<div class="installation-instruction__tab-content" data-install-content-group="method" data-install-content="multiwerf">
<h3>Installing multiwerf</h3>
<div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="linux">
  {% for version in page.versions %}
    <div class="installation-instruction__tab-content" data-install-content-group="version" data-install-content="{{ version }}">
      {% for channel in page.channels %}
        <div class="installation-instruction__tab-content" data-install-content-group="channel" data-install-content="{{ channel }}">
<div markdown="1">{% include en/installation/multiwerf_unix.md version=version channel=channel %}</div>
<div class="details">
<h2><a href="javascript:void(0)" class="details__summary">How to use in the CI/CD system?</a></h2>
<div class="details__content" markdown="1">
{% include en/installation/multiwerf_unix/how_to_use_in_the_ci_cd.md version=version channel=channel %}
</div>
</div>
        </div>
      {% endfor %}
    </div>
  {% endfor %}
</div><!-- /os -->
<div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="macos">
  {% for version in page.versions %}
    <div class="installation-instruction__tab-content" data-install-content-group="version" data-install-content="{{ version }}">
      {% for channel in page.channels %}
        <div class="installation-instruction__tab-content" data-install-content-group="channel" data-install-content="{{ channel }}">
<div markdown="1">{% include en/installation/multiwerf_unix.md version=version channel=channel %}</div>
<div class="details">
<h2><a href="javascript:void(0)" class="details__summary">How to use in the CI/CD system?</a></h2>
<div class="details__content" markdown="1">
{% include en/installation/multiwerf_unix/how_to_use_in_the_ci_cd.md version=version channel=channel %}
</div>
</div>
        </div>
      {% endfor %}
    </div>
  {% endfor %}
</div><!-- /os -->
<div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="windows">
  {% for version in page.versions %}
    <div class="installation-instruction__tab-content" data-install-content-group="version" data-install-content="{{ version }}">
      {% for channel in page.channels %}
        <div class="installation-instruction__tab-content" data-install-content-group="channel" data-install-content="{{ channel }}">
<div markdown="1">{% include en/installation/multiwerf_windows.md version=version channel=channel %}</div>
        </div>
      {% endfor %}
    </div>
  {% endfor %}
</div><!-- /os -->

<div class="details">
<h2><a href="javascript:void(0)" class="details__summary">How it works?</a></h2>
<div class="details__content" markdown="1">
{% include en/installation/how_it_works.md %}
</div>
</div>
      </div><!-- /method -->
      <div class="installation-instruction__tab-content" data-install-content-group="method" data-install-content="binary">
<div markdown="1">
The latest release can be found [at this page](https://bintray.com/flant/werf/werf/_latestVersion)
</div>
        <div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="linux">
<div markdown="1">
{% include installation/binary_linux.md %}
</div>
        </div>
        <div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="macos">
<div markdown="1">
{% include installation/binary_macos.md %}
</div>
        </div>
        <div class="installation-instruction__tab-content" data-install-content-group="os" data-install-content="windows">
<div markdown="1">
{% include installation/binary_windows.md %}
</div>
        </div>
      </div><!-- /method -->
      <div class="installation-instruction__tab-content" data-install-content-group="method" data-install-content="source">
<div markdown="1">
{% include installation/source.md %}
</div>
      </div><!-- /method -->
    </div>
  </div>

  <div class="installation-channels">
    <h2 class="installation-channels__title" name="all-changes-in-werf-go-through-all-stability-channels">
      All changes in werf<br>
      go through all stability channels
    </h2>
    <ul class="installation-channels__channels">
      <li class="installation-channels__channel">
        <div class="installation-channels__channel-title">
          Alpha
        </div>
        <div class="installation-channels__channel-description">
          can bring new features<br>
          but can be unstable
        </div>
      </li>
      <li class="installation-channels__channel installation-channels__channel_beta">
        <div class="installation-channels__channel-title">
          Beta
        </div>
        <div class="installation-channels__channel-description">
          for more broad testing<br>
          of new features to catch<br>
          regressions
        </div>
      </li>
      <li class="installation-channels__channel installation-channels__channel_ea">
        <div class="installation-channels__channel-title">
          Early-Access
        </div>
        <div class="installation-channels__channel-description">
          is mostly safe and can be used<br>
          in non-critical environments<br>
          or for local development
        </div>
      </li>
      <li class="installation-channels__channel installation-channels__channel_stable">
        <div class="installation-channels__channel-title">
          Stable
        </div>
        <div class="installation-channels__channel-description">
          is mostly safe and we<br>
          encourage you to use<br>
          this version everywhere
        </div>
      </li>
      <li class="installation-channels__channel installation-channels__channel_rocksolid">
        <div class="installation-channels__channel-title">
          Rock-Solid
        </div>
        <div class="installation-channels__channel-description">
          the most stable channel<br>
          and recommended for usage<br>
          in critical environments with tight SLA
        </div>
      </li>
    </ul>
    <div class="installation-channels__info">
      <div class="installation-channels__info-versions">
        <p>When using release channels, you do not specify a&nbsp;version, because the version is&nbsp;managed automatically within the&nbsp;channel Stability channels and&nbsp;frequent releases allow receiving continuous feedback on&nbsp;new changes, quickly rolling problem changes back, ensuring the&nbsp;high stability of&nbsp;the&nbsp;software, and&nbsp;preserving an&nbsp;acceptable development speed at&nbsp;the&nbsp;same time.</p>
        <p>The relations between channels&nbsp;and werf releases are&nbsp;described in&nbsp;<a href="https://github.com/werf/werf/blob/multiwerf/multiwerf.json">multiwerf.json</a>.</p>
      </div>
      <div class="installation-channels__info-guarantees">
        <div class="installation-channels__info-guarantee">
          <strong>We guarantee</strong> that <i>Early-Access</i> release should become <i>Stable</i> not earlier than 1 week after internal tests.
        </div>
        <div class="installation-channels__info-guarantee">
          <strong>We guarantee</strong> that <i>Stable</i> release should become <i>Rock-Solid</i> release not earlier than after 2 weeks of&nbsp;extensive testing.
        </div>
      </div>
    </div>
  </div>
  <div class="installation-compatibility">
    <h2 class="installation-compatibility__title" name="backward-compatibility-promise">Backward compatibility promise</h2>
<div markdown="1" class="docs">
{% include en/installation/backward-compatibility.md %}
</div>
  </div>
</div>

{'fraction_non_alphanumeric': 0.16009474099741217, 'fraction_numerical': 0.00605289705688846, 'mean_word_length': 3.6875, 'pattern_counts': {'":': 0, '<': 497, '<?xml version=': 0, '>': 497, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2853308', 'n_tokens_mistral': 6998, 'n_tokens_neox': 6810, 'n_words': 1320}