A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.
APACHE-2.0 License
Bot releases are hidden (Show)
Published by flant-team-sysdev over 4 years ago
Published by flant-team-sysdev over 4 years ago
Automatically set gitlab repo implementation option (--stages-storage-repo-implementation=gitlab
) in werf ci-env gitlab
.
[docs] Added three new publications about werf.
[docs] Publications on the site updated. Added three new publications about werf.
[docs] Fix README coming soon and features list
Published by flant-team-sysdev over 4 years ago
Werf now can store stages in the docker registry by specifying --stages-storage REPO
instead of --stages-storage :local
.
There is no more restriction that a single host should be used to run all werf commands for a project:
"werf ci-env gitlab" default mode now is to store stages by path CI_REGISTRY_IMAGE/stages
. All existing werf installations will continue to use :local
stages storage because --stages-storage :local
param has explicitly been specified in all CI-configs. So to use distributed builds user needs to remove this param, see guided steps below about migrating to the distributed stages storage.
Introduced a new parameter named --synchronization
, which controls how multiple werf processes are synchronized between each other. There is a stages-storage cache and locks components that werf needs to run. Stages storage cache is an internal component used to boost werf performance for idle builds when calculating stages. Locks are needed to organize correct publishing of new stages into stages-storage, publishing images into images-repo and for deploy process also.
When --synchronization :local
used (which is factually by default in the previous versions < v1.1.10), then stages-storage cache reside in the local host file system (~/.werf/shared_context/storage/stages_storage_cache/1/PROJECT
) and local file locks are used.
When --synchronization kubernetes://NAMESPACE
is used, then werf creates a ConfigMap for project in this namespace, stores stages storage cache in this ConfigMap and uses distributed locking over this ConfigMap to synchronize multiple werf processes running from multiple hosts.
By default, when non local stages-storage is used werf automatically use kubernetes://werf-synchronization
namespace and create a ConfigMap named werf-PROJECT
in this namespace. User can specify arbitrary non-standard namespace on own needs.
What about local docker images cache on hosts where werf is running? — There is such a cache, which is cleared either by the werf itself or can freely be removed by other tools (docker rmi).
werf stages sync --from=:local|REPO --to=:local|REPO
.
--remove-source
and --cleanup-local-cache
, which controls whether werf will delete synced stages from source stages-storage and wheter werf will cleanup localhost from temporary docker images created during sync process.werf stages switch-from-local --to=REPO
Let's say you have some project in Gitlab CI, that uses werf. Steps:
--stages-storage :local
param from all werf invocations. There is no need to set this param explicitly anymore, because werf ci-env
will automatically set it to CI_REGISTRY_IMAGE/stages
.werf stages switch-from-local --to=CI_REGISTRY_IMAGE/stages
where CI_REGISTRY_IMAGE is the address of container registry for your gitlab project. After this step all werf invocations from different git branches of the project that uses --stages-storage :local
will refuse to work, because switch-from-local command sets a block to use :local.:local
stages storage.[docs] Remove --stages-storage :local from Gitlab CI docs
[ci] Cache GO modules
[tests] New tests
[tests] K8S/Cleanup Suite: test cleanup with deployed image
[tests] K8S/Guides Suite: actualize after each
Error: --stages-storage=ADDRESS param required
[tests] Helm/Render Suite: add extra annotations and labels check
[tests] Cleanup Suite: test stages storage repo
Published by flant-team-sysdev over 4 years ago
Use kubertes locker for deploy and dismiss commands.
[stapel] Fix apply patch on windows
~/gitLatestPatch error: /app/dir\test2: No such file or directory
[stapel] Fix custom mounts on windows
Error: daemon: Duplicate mount point: /path
[tests] Imports suite: disable auto gc
[tests] Build/Dockerfile Suite: fix checksum without git test for darwin
git system darwin symlink mode differs from linux
[tests] CI-env Suite: take into account Github Actions environment
[tests] Build/Dockerfile Image Suite: fix typo
[tests] Force deleting test AWS ECR environment
[ci] Disable GCR test repositories cleanup
[docs] Regenerate reference cli docs
Published by flant-team-sysdev over 4 years ago
[ci-env] GitHub support.
[testing] CI-env Suite: add github.
werf ci-env github --as-file
https://github.com/flant/lockgate/pull/12
Refactor and fix kubernetes cm key name
Fix provided shell 'WERF_SHELL' not supported.
Retry docker pull/push when specific errors occur.
[logging] Turn off Docker Registry API debug messages by default.
[ci] Fix Cleanup Docker Hub test repositories.
[ci] Split test workflow into two independent workflows.
[ci] Disable GitHub Packages in cleanup test suite.
[docs] Regen commands cli documentation reference.
Published by flant-team-sysdev over 4 years ago
Distributed builds can be used now by specifying --stages-storage=REPO_ADDRESS.
Added --as-file option, which is more portable way to use werf ci-env. Example:
. $(werf ci-env gitlab --as-file)
Changed all docs and guides to use --as-file
.
Published by flant-team-sysdev over 4 years ago
Fix gitLatestPatch signature not stable against index-line changes in git patches.
Published by flant-team-sysdev over 4 years ago
Auto reset stages-storage-cache and retry action when docker-image has been deleted from stages-storage, but exists in the stages-storage-cache.
Fix gitLatestPatch signature not stable to index line in patches.
Published by flant-team-sysdev over 4 years ago
-S
shorthand;--synchronization kubernetes://mynamespace
.Fix gitLatestPatch signature not stable to index line in patches.
Published by flant-team-sysdev over 4 years ago
Fix problems related to changes introduced in v1.1.9+fix4: signatures has been accidentally changed in v1.1.9+fix4.
Fixes that were made in v1.1.9+fix4 are also available in this v1.1.9+fix5 release:
[cleanup] Skip images with MANIFEST_UNKNOWN error
[build][git] Handle "commits not present" line in git diffs
[build][git] Fix gitLatestPatch not built when previous stage has been discarded during build
[dockerfile] Fix ONBUILD instruction processing
Published by flant-team-sysdev over 4 years ago
Fix problems related to changes introduced in v1.1.10-alpha.2: signatures has been accidentally changed in v1.1.10-alpha.2.
Fixes that were made in v1.1.10-alpha.2 are also available in this v1.1.10-alpha.3 release:
[cleanup] Skip images with MANIFEST_UNKNOWN error
[build][git] Handle "commits not present" line in git diffs
[build][git] Fix gitLatestPatch not built when previous stage has been discarded during build
[dockerfile] Fix ONBUILD instruction processing
Published by flant-team-sysdev over 4 years ago
Example of error:
Error: phase build on image frontend stage gitCache handler failed: error checking stage ↵
gitCache is empty: invalid stage image: can not find git commit in stage image labels: ↵
delete stage image fdf27403-2c05-4966-850f-dbb0c79ff577 manually and retry the build
Published by flant-team-sysdev over 4 years ago
Fix problems related to changes introduced in v1.1.8+fix13: signatures has been accidentally changed in v1.1.8+fix13.
Fixes that were made in v1.1.8+fix13 are also available in this v1.1.8+fix14 release:
[build][git] Handle "commits not present" line in git diffs
[build][git] Fix gitLatestPatch not built when previous stage has been discarded during build
[dockerfile] Fix ONBUILD instruction processing
Published by flant-team-sysdev over 4 years ago
[build][git] Handle "commits not present" line in git diffs
[build][git] Fix gitLatestPatch not built when previous stage has been discarded during build
[dockerfile] Fix ONBUILD instruction processing
Published by flant-team-sysdev over 4 years ago
[cleanup] Skip images with MANIFEST_UNKNOWN error
[build][git] Handle "commits not present" line in git diffs
[build][git] Fix gitLatestPatch not built when previous stage has been discarded during build
[dockerfile] Fix ONBUILD instruction processing
Published by flant-team-sysdev over 4 years ago
[cleanup] Skip images with MANIFEST_UNKNOWN error
[build][git] Handle "commits not present" line in git diffs
[build][git] Fix gitLatestPatch not built when previous stage has been discarded during build
[dockerfile] Fix ONBUILD instruction processing
Published by flant-team-sysdev over 4 years ago
[dockerfile] Fix git status checksum algorithm does not count symlinks properly
[dockerfile] Skip outside the build context wildcard till fail on docker build
[dockerfile] Take into account ignored files by .gitignore files
[dockerfile] Change checksum calculation without git logic
Published by flant-team-sysdev over 4 years ago
[dockerfile] Fix git status checksum algorithm does not count symlinks properly
[dockerfile] Skip outside the build context wildcard till fail on docker build
[dockerfile] Take into account ignored files by .gitignore files
[dockerfile] Change checksum calculation without git logic
Published by flant-team-sysdev over 4 years ago
[dockerfile] Fix checksum calculation algorithm does not count ignored files (.gitignore).
https://github.com/flant/werf/issues/2315
werf switch-from-local --to registry.mycompany.com/mygroup/myproject
This command will:
--synchronization=:kubernetes
has been specified.
--synchronization=:kubernetes
has been specified.When --synchronization=:kubernetes
werf will use kubernetes-locks in
ConfigMap for project: cm/werf-PROJECT_NAME.
Published by flant-team-sysdev over 4 years ago
Invalidate stages-storage-cache directory when old cache directory exists. Remove old and current stages-storage-cache directories in this case.