Skip to content

@flant-team-sysdev flant-team-sysdev released this Sep 24, 2019 · 117 commits to master since this release

Deploy process improvements

Enable environment access functions in chart templates

Now user can fetch env variables in the helm templates with the following function:

{{ env "ENVIRONMENT_VARIABLE_NAME" }}

Refuse temporary helm chart generation

Temporary helm chart was an obsolete way to extend standard helm chart derived from dapp tool. Werf uses enchanced version of helm and does not need to generate temporal chart files.

Also this change fixed #1580.

Remove werf helm generate chart command

Use werf helm render instead

Update chart templates werf helpers

  • werf_container_image: add imagePullPolicy: Always for custom tag strategy.
  • werf_container_env: set DOCKER_IMAGE_ID only for git branch and custom tag strategies.

Git work tree switch strikes back: rework and speedup git work tree cache

  • One work tree belongs only to one git repo on localhost.
    Multiple repos (as in gitlab with parallel builds) will
    have multiple uniq work trees, one per repo.
  • Optimized work tree switch procedure in the case when
    work tree is already in the desired commit state.
  • New cache files structure:
~/.werf/local_cache/git_worktrees/2/local/REPO_ID_HASH/
  COMMIT # actual work tree directory in the state corresponding to COMMIT
  current # symlink to the current COMMIT directory

REPO_ID is unique per each local repo clone.

During switch from OLD_COMMIT to NEW_COMMIT procedure
OLD_COMMIT dir will be renamed to ~/.werf/local_cache/git_worktrees/2/local/REPO_ID_HASH/UUID temporary dir,
then state switched, then UUID will be renamed to NEW_COMMIT dir. In the case of switch error,
UUID temporary dir will be leaved for the inspection.

Only a single process can work with ~/.werf/local_cache/git_worktrees/2/local/REPO_ID_HASH cache at the same time.

Other fixes

  • [lint] Actualize werf anno validation.
  • [docs] Fix of copying file with ansible.
  • [cleanup commands] Skip broken tags (known as "MANIFEST_UNKNOWN" error during cleanup).
  • [render] Optional variables and saving the rendered chart to the file.

Installation

Linux amd64

Darwin amd64

Windows amd64

Assets 2
You can’t perform that action at this time.