ืื ืืฉื ืฉื ืืืืจ ืืื ื ื ืืื ืืืชืจ ืืคืขื ืืืช, ืืืืื, ืืืจื ืืืืืืงืช ืคืขืืื ืืืื. ืขื ืืื ืืฆืืจื
ืชืืืืช ืืืื ื-ืจืืคื ืืืืจืื ื ืฉื werf ืืื ืืืืื ืืืื ืืื. ืืื ืงืืื ืื, ืืืื ื ืืื ืืื ืชืืืื ืื ืงืฉืืจื ืืืจื ืืื ืืฉืืืืฉ ื-werf ืืื ืืงืฉืจ ื-Docker Registry...
ื ืืฉืืื
ืืืื ื ืืืืื ืืฆื ืืื. ืืืืจื ืฆืืืชื ืคืืชืื ืจืืื ืืขืืืืื ืขื ืคืจืืืงืืื ืขืฆืืืืื. ืจืื ืืืืฉืืืื ืคืืขืืื ืขื Kubernetes ืืืื ืื ืืืืืื ืืืืืืช. ืืื ืืืืกื ืืืืืืช, ืชืืื ืืช, ืืชื ืฆืจืื ืจืืฉืื (ืจืืฉืื). ืืจืืฉืื ืืื, ืืืืจื ืืฉืชืืฉืช ื- Docker Hub ืขื ืืฉืืื ืืืื COMPANY
. ืืืืื ืืจืื ืืขืจืืืช ืืืกืื ืงืื ืืืงืืจ, Docker Hub ืืื ื ืืืคืฉืจ ืืืจืจืืืืช ืืืืจ ืืงืื ื ืช, ืืื COMPANY/PROJECT/IMAGE
. ืืืงืจื ืืื... ืืืฆื ืชืืื ืืืืกื ืืคืืืงืฆืืืช ืื ืืื ืืืืืืืช ืืจืืฉืื ืขื ืืืืื ืื ืืืื ืืืฆืืจ ืืฉืืื ื ืคืจื ืืื ืคืจืืืงื?
ืืืื, ืืืฆื ืืืชืืืจ ืืืืจ ืืืืฉืื ืืืงืืจ ืจืืฉืื, ืืื ืืื ื ืืื ืืช ืื ืืฉื ืฉื ืืจืืื ืืืกืื ืืืฉืืืื ืืืืคื ืืืื, ืืืืืจ. ืืื ืืชืืืืกืืช ืืืืืื ืืขืื ืื- Docker Hub.
ืคืชืจืื ืืช
ืื ืืืืฉืื ืืึนื ืึนืึดืืึดื, ืืืืข ืืชืืื ื ืืืช, ืื ืืื ืฉืืืืช ืืื ืื ื ืคืฉืื ืฉืืืจืื ืืช ืืชืืื ืืช ื-Container Registry ืฉื ืืคืจืืืงื.
ืืืฉืจ ืืืฉืื ืืืฆื ืืจืืืืื ืืจืืืื, ืฉืืจืืชื ืืืงืจื, ืื ื ืืจืฉืช ืืืฉื ืืกืืืืช. ืืืืืื ืฉื ืืืฉืื ืืื ืืจื ื ืืืคืืกื ืืืืจืื ืืฉืชื ืชืืื ืืช: frontend
ะธ backend
- ืืืคืฉืจืืืืช ืืืคืฉืจืืืช ืื:
- ืืืกื ืชืืื ืืช ืืืืืจืื ืืงืื ื ืื ื ืคืจืืื:
- ืืืกื ืืื ืืืืืจ ืืื, ืืฉืงืื ืืช ืฉื ืืชืืื ื ืืชื, ืืืฉื, ืืืืคื ืืื:
NB: ืืืขืฉื, ืืฉ ืืคืฉืจืืช ื ืืกืคืช ืขื ืฉืืืจื ืืืืืจืื ืฉืื ืื, PROJECT-frontend
ะธ PROJECT-backend
, ืื ืื ื ืฉืงืื ืืืช ืืืื ืืืจืืืืช ืืชืืืื, ืืืจืืื ืืืคืฆืช ืืืืืืืช ืืื ืืืฉืชืืฉืื.
ืชืืืื werf
ืืชืืืื, werf ืืืืืื ืืช ืขืฆืื ืืืืืจืื ืืงืื ื ืื - ืืืจืื ืืืื, ืจืื ืืจืืฉืื ืชืืืืื ืืชืืื ื ืื. ืืื ืืืืจืกื
ืืืฉืื ืืืื ืชืืช ืืคืฉืจืืช --images-repo-mode=multirepo|monorepo
(ืึผึฐืจึดืืจึทืช ืึถืืึธื multirepo
, ืืืืืจ ืืืกืื ืืืืืจืื ืืงืื ื ืื). ืื ืืืืืจ ืืช ืืืคืืกืื ืฉืืคืืื ืชืืื ืืช ืืืืืกื ืืช ืืจืืฉืื. ืื ืืกืคืืง ืืื ืืืืืจ ืืช ืืืฆื ืืจืฆืื ืืขืช ืฉืืืืฉ ืืคืงืืืืช ืืืกืืกืืืช, ืืื ืืฉืืจ ืืืฉืืจ ืืื ืฉืื ืื.
ืืืืืื ืฉื ืืชื ืืืืืืจ ืืช ืจืื ืืคืฉืจืืืืช ื-werf ืืฉืชื ื ืกืืืื, ืืืขืจืืืช CI / CD, ืืืจื ืืื ืงื ืืืืืืจ ืืช ืืฆื ืืืืกืื ืืืืคื ืืืืืื ืขืืืจ ืืคืจืืืงื ืืืื. ืืืืืื, ืืืงืจื ืฉื GitLab ืคืฉืื ืืืกืฃ ืืฉืชื ื ืกืืืื ืืืืืจืืช ืืคืจืืืงื: ืืืืจืืช -> CI / CD -> ืืฉืชื ืื: WERF_IMAGES_REPO_MODE: multirepo|monorepo
.
ืื ืื ืื ื ืืืืจืื ืขื ืคืจืกืื ืชืืื ืืช ืืืคืฆืช ืืืฉืืืื (ืชืืืื ืืงืจืื ืขื ืชืืืืืื ืืื ืืคืืจืื ืืืืืจื ืืชืืขืื ืืจืืืื ืืืื:
ืืฉืื ื ืืฆื ืืคืจืืื
ืืืืื ืืืงืืฉื ืืขืืงืจื ืืืืกืคืช ืฉืืืช ืืืกืื ืืืฉื ืืื ืืชืืืื ื ืืงืื ืืจืืฉืื (ืืชืืื ืืช ืืืืืจ ืื ืชืืืืช ืขื ืืื werf, ืจืื
ืืขืช ื ืืงืื, werf ืืืงื ืืืฉืืื ืืช ืืชืืื ืืช ืืืฉืืฉืืช ืืืฉืืืืืช Kubernetes, ืืื ืื ืืืื ืืืช ืฉืืืืืจื ืขื ืืื ืืืฉืชืืฉ. ืืืืื ืืืช ืืืืกืกืช ืขื ืืืืงืช ืืชืืื ืืืกืืจืืืืืช. ืืกืืจืืืืืช ื ืชืืืืช ืืจืืข:
- 3 ืืกืืจืืืืืช ืืงืืฉืจืืช ืขื ืืื ืคืจืืืืืืืืืช Git ืืืื ืชื, ืขื ืฃ ื-commit;
- ืืกืืจืืืื 1 ืืชืืื ืืืชืืืื ืืืฉืืช ืฉืจืืจืืชืืื.
ืื ื ืฉืืืจืื ืืืืข ืขื ืืกืืจืืืืืช ืืชืืื ืืขืช ืคืจืกืื ืืชืืื ื ืืชืืืืืช ืฉื ืืชืืื ื ืืกืืคืืช. ืืืฉืืขืืช ืขืฆืื ืืื ืื ืฉื ืงืจื ืืื ืชื - ื ืืจืฉ ืืืืฉื ืืืง ืืืืืื ืืืช. ืืืืืื, ืืืฉืจ ืืืืงืื ืขื ืฃ ืื ืชื ืืืืืจ Git, ืื ืืืืื ื ืืืืืง ืงืฉืืจืื ืื ืืฉืืืืฉ ืชืืื ืืช ืืืจืืฉืื, ืืืืืกื ืืืืง ืืืืืื ืืืช ืฉืื ื.
ืืืฉืจ ื ืฉืืจ ืืืืืจ ืืื (monorepo
), ืืชื ืืชืืื ื, ืื ืืกืฃ ืืืื ืชื, ื ืืชื ืืืืกื ืื ืืช ืฉื ืืชืืื ื: PROJECT:frontend-META-TAG
. ืืื ืืืคืจืื ืืื ืืื, ืื ืืื ืกื ื ืฉืื ืืคืจืื ืกืคืฆืืคื, ืืื ืคืฉืื ืืืกืคื ื ืืช ืืขืจื ืืืจืืฉ ืืชืืืืช ืฉื ืืชืืื ื ืืกืืคืืช ืืขืช ืืคืจืกืื.
NB: ืื ืืชื ืืขืื ืืื ืืืกืชืื ืขื ืื ืื ืฉืืชืืืจ ืืงืื ืืืงืืจ ืฉื werf, ืื ื ืงืืืช ืืืชืืื ืืืืื ืืืืืช
ืืืืืจ ืื, ืื ื ืงืืืฉ ืชืฉืืืช ืื ืจืื ืืืชืจ ืืืขืืืช ืืืืฆืืงื ืฉื ืืืืฉื ืฉืื ื: ืืืื ืืกืืจืืืืืช ืชืืื, ืืืกืื ื ืชืื ืื ืืชืืืืืช ืืชืืืื ืืคืจืกืื ืืืืืืชื - ืื ืื ืืชืืืจ ืืคืืจืื ืืื"ื ืืืืจืื ืฉื ืืืืืจื ืกืืืืืจืื: "
ืชึดืืฆืึผืช
ืืืกืจ ืืชืืืื ืืจืืฉืืืื ืื ืืงืื ื ืื ืื ืืื ืืืจื ืืืกื ืขืืืจื ื ืื ืขืืืจ ืืฉืชืืฉื ื-werf ืืืืืจืื ืื ื - ืืืจื ืืื, ืืชื ืชืืื ืืืื ืืืขืืืช ืจืืฉืื ืชืืื ืืช ื ืคืจื (ืื ืืขืืืจ ื-Container Registry ืืืชื ื ื-Google Cloud) ... ืขื ืืืช, ืืกืจืช ืืืืื ืืื ื ืจืืชื ืืืืื ืืช ืืื ืฉืืืื ืืืื ื ืื ืืืชืจ ืืงืืืืช DevOps ืืจืืื ืืืชืจ. ืืืืฉืื ืื, ืืชืืืืื ื ืขื ืืงืืฉื ืืขืืงืจื ืืขืืืื ืืืืฉ ืฉื ืื ืื ืื ื ืืงืื ืืจืืฉืื ืฉื ืืืืืื. ืขืืฉืื ืืฉืืื ืืืื, ื ืืื ืืืืื ืฉืื ืืคื ืงื ืืืชืจ ืืืืฉืื, ืืื ื (ืืืคืชืืื ืืจืืฉืืื ืฉื ืืคืจืืืงื) ืื ืืืื ืงืฉืืื ื ืืืจืื ืืชืืืื ื ืืกืคืช ืืคืืฆ'ืจ ืืื.
ืืืฉืืจื ืืืชื ื ืืืงืจืื ืืืื ื ืกืคืจ ืืื ืขื ืืืืืฉืื ื ืืกืคืื ืืชืืื
ื .ื.
ืงืจื ืื ืืืืื ืฉืื ื:
- ยซ
ืืขืช ืืชื ืืืื ืืื ืืช ืชืืื ืืช Docker ื-werf ืืืืฆืขืืช Dockerfile ืจืืื "; - ยซ
werf - ืืืื ืฉืื ื ืขืืืจ CI / CD ื-Kubernetes (ืกืงืืจื ืืืืืช ืืืื ืืืืื) ".
ืืงืืจ: www.habr.com