áá±á¬ááºážáá«ážááẠKubernetes áá¶áá±ážááá¯á·áá±á¬ cloud áá¬ááá¡ááºááºáá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠáá±ááºáá® CI/CD ááá¯ááºááá¯ááºážáá»á¬ážá áááºááœá±á·ááŒá
áºáááºáá»á¬ážááœáẠááœááºááááºáá¬ááŸááºáá¯á¶áááºááŒááºáž (Docker Registry ááŸáá·áº áááºážá analogues) áá»á¬ážááœáẠá
á¯áá¯á¶áá±áá±á¬áá¯á¶áá»á¬ážááᯠááá·áºááŸááºážáá±ážáá¯ááºááŒááºážááá¯ááºáᬠááŒá¿áá¬áá»á¬ážááᯠááœá±ážááœá±ážáá¬ážáááºá áá¯ááºáá¯á¶áá»á¬ážá áááºá
ááºááŸá¯ááŸáá·áº á¡ááá¯á¡áá»á±á¬áẠááá·áºááŸááºážáá±ážá áá±áá¬áá»áœá±áá¬ááŒááºážááŸáá·áº á¡áááºážáá»á¬ážá ááá¯á¡ááºáá»ááºáá»á¬ážááᯠááŒáá·áºáá®ááŒááºážá¡ááœáẠáááŸááá¬áá±á¬ á¡áááºá¡áá²áá»á¬ážá¡ááœáẠá¡ááá á
á¶áááºááŸááºáá»ááºáá»á¬ážááᯠáá±ážáá¬ážáááºá áá±á¬ááºáá¯á¶ážááœááºá áá®ážááŒá¬áž Open Source ááá±á¬áá»ááºáá
áºáá¯á á¥ááá¬ááᯠá¡áá¯á¶ážááŒá¯á á€á¡áááºá¡áá²áá»á¬ážááᯠáááºááá¯á·áá»á±á¬áºááœáŸá¬ážááá¯ááºáááºááᯠáá»áœááºá¯ááºááá¯á· ááŒá±á¬ááŒáá«áááºá
áááá«ááºáž
ááœááºááááºáá¬á á¬áááºážááœááºážááŸá¯áá áºáá¯ááŸá áá¯á¶á¡áá±á¡ááœááºááẠáá»ááºááŒááºá áœá¬ááŒá®ážááœá¬ážááá¯ááºááŒá®áž ááá¯ááŸá±á¬ááºááŸá¯áá±áá¬ááá¯áá°áᬠáááºážááá¯ááºáá»á ááááºááᯠáááááá¬áá¬ááá¯ážá á±áááºá ááŸááºáá¯á¶áááºááŸá¯ááœáẠááááºážááá¯ááºááá¯ááºáá±á¬ áá±áá¬áá»á¬ážá ááŒá®ážááœá¬ážááŸá¯ááᯠááááºážáá»á¯ááºá ááá·áºáááºááẠááá¯á·ááá¯áẠááááºážááááºážáááºá áááºážááᯠáááºáá¶áááº-
- áá¯á¶áá»á¬ážá¡ááœáẠáááºááŸááºáá¬ážáá±á¬ tag á¡áá±á¡ááœááºááᯠá¡áá¯á¶ážááŒá¯áá«á
- áá¯á¶áá»á¬ážááᯠáá áºáááºážáááºážááŒáá·áº ááá·áºááŸááºážáá«á
áááááá·áºáááºáá»ááºááẠáá
áºáá«áá
áºáá¶ááœáẠá¡áááºážáááºáá»á¬ážá¡ááœáẠáááºáá¶ááá¯ááºáááºá áá±á¬á·ááºáá²áá±ážáá¬ážáá°áá»á¬ážááẠá¡ááŒá²áááºáž áááºáá»á¬áž áá¯á¶áá±á¬ááºáá«á (latest
, main
, test
, boris
á
áááºááŒáá·áº) registry ááẠá¡ááœááºá¡á
á¬áž ááŒá®ážáá¬ááẠááá¯ááºááá·áºá¡ááŒáẠááá·áºááŸááºážáá±áž áá¯ááºááá¯á· áá¯á¶ážá á
ááºážá
á¬ážáá±á
áᬠáááá¯áá±á¬á·áá² á¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠááŒá®ážááœá¬ážáá±áá«áááºá áá±á¬ááºáá¯á¶ážááœááºá ááááºááá¯ááºáá±á¬áá¯á¶áá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá»ááºáá
áºááŒá®áž ááá·áºááŸááºážáá±ážáá¯ááºááẠá¡áá¯ááºááá»ááºáá±á¬á·áá« (á¡áá¬áá¬ááá¯ááºážááᯠáá¯á¶ááŸááºá¡ááŸáá¯ááºááááºážáá°á០áá¯ááºáá±á¬ááºáááº)á
ááá¯á·áá¬ááœááºá á€áá»ááºážáááºááŸá¯ááẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááᯠáá»á¬ážá áœá¬ ááá·áºáááºáá¬ážááŒá®áž áá±ááºáá® CI/CD ááá±á¬áá»ááºáá»á¬ážááŸáá·áº áááºááá¯ááºáá²áá«áááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á á¡áá±ážáá«áá±á¬ á¡á áááºá¡ááá¯ááºážáá áºáá¯ááŒá áºáá²á·áááºá á¡ááá¯á¡áá»á±á¬ááºáááºážááẠáá¯á¶ážá áœá²áá°áá»á¬ážáᶠááá¯ááá¯ááŒááºáááºá áœá¬ á ááºážáááºááŒááºážá á¡áá¯á¶ážáá»ááŒááºážááŸáá·áº áá¯ááºáá±á¬ááºáá»ááºá¡áá áºáá»á¬ážááᯠáá±ážá¡ááºááá¯ááºá á±áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·á ááá±á¬áá»ááºá¡á¬ážáá¯á¶ážááœáẠááááá áºáá¯á á®ááŒáá·áº CI ááá¯ááºááá¯ááºážááᯠá¡ááá¯á¡áá»á±á¬áẠáááºáá®ážáá«áááºá áááºážááœááºá áá¯ááºáá¯á¶á¡á¬áž áá±á«ááºážá ááºážááŒááºážá á ááºážáááºááŒááºážá á¡ááŸá¬ážááŸá¬ááŒááºááŒááºážááŸáá·áº áá»ááºá á áºáá±ážááŸá¯áá»á¬ážá¡ááœáẠKubernetes áá¬ážáá áºá¡áá»áá¯ážáá»áá¯ážááá¯á· áá¯ááºáá±ážááŒá®áž á¡á¬ážáá¯á¶ážáá±á¬ááºážáá«á á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááẠáá¯á¶ážá áœá²áá°áá¶áá±á¬ááºááŸáááœá¬ážáááºááŒá áºáááºá á€á¡áá¬ááẠáá¯á¶ážáá»á¶áááá¹áá¶ááá¯ááºáá±á¬á·áá²á áááºá€áá±á¬ááºážáá«ážááá¯áááºáá±áá±á¬ááŒá±á¬áá·áº áá°á¡áá»á¬ážá¡ááœáẠáá±á·á ááºááŒá áºáá»ááºááŸá¯áá áºáá¯ááŒá áºáááºá
á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠááŒá¯ááŒááºááŒááºážááŸáá·áº áá¯ááºáá±á¬ááºáá»ááºá¡áá áºáá»á¬áž áá®ááœááºááŒááºážááá¯á·ááᯠá¡ááŒáá¯ááºáá¯ááºáá±á¬ááºááŒá®áž áá¯ááºáá±ááŸá¯áá»á¬ážááᯠáá áºáá±á·áá»áŸáẠá¡ááŒáááºáá±á«ááºážáá»á¬ážá áœá¬ áá¯ááºáá±á¬ááºááá¯ááºáá±á¬ááŒá±á¬áá·áº ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá ááºááẠáááá¬áááºááŸá¬ážáá±á¬ áááááááºáá»á¬ážá áœá¬ááŒáá·áº ááá¯ááºáá«ááœá¬ážáááºááŸá¬ áááºááŸá¬ážáá«áááºá registry ááœáẠáá¯á¶áá»á¬ážá áœá¬ááŸááááºá. ááááºá¡áá±ááŒáá·áº ááŸááºáá¯á¶áááºááŒááºážá¡á¬áž áááá±á¬ááºá áœá¬ ááá·áºááŸááºážáá±ážááŒá¯áá¯ááºááẠá ááºážáá¯á¶ážáá±ážááá á¹á ááẠáá±á«áºáá±á«ááºáá¬áá«áááºá ááááºááá¯ááºáá±á¬áá¯á¶áá»á¬ážááá¯áááºááŸá¬ážáá«á
áá«áá±ááá·áº áá¯á¶áá áºáá¯á¶áᬠáááºá ááºááŸá¯ááŸááááŸáááᯠáááºáááºááá¯áá¯á¶ážááŒááºááá²á
áá¯á¶ááááºá ááºááŸá¯áá»á¬ážá¡ááœáẠá á¶áááºááŸááºáá»ááºáá»á¬áž
ááá á¹á á¡áá»á¬ážá á¯ááœááºá á¡ááá á á¶ááŸá¯ááºážáá»á¬ážááŸá¬-
1. ááááá¯á¶áž (á¡áááºááŸá¬ážáá¯á¶ážááŸáá·áº á¡áá±áááºá¡áá¶ááá¯á¶áž) ááẠááá¯áá¯á¶áá»á¬ážááŒá
áºáááºá Kubernetes ááœáẠáááºááŸáá¡áá¯á¶ážááŒá¯áá±áááºá. á€áá¯á¶áá»á¬ážááᯠáááºááŸá¬ážááŒááºážááẠáááá¬áááºááŸá¬ážáá±á¬ áá¯ááºáá¯ááºááŸá¯áááºáá¬ážáá»ááẠáá¯ááºáá»á
ááááºááᯠááŒá
áºáá±á«áºá
á±ááẠ(á¥ááá¬á áá¯á¶áá»á¬ážááᯠáá¯á¶áá°áá°ážáááºá¡ááœáẠááá¯á¡ááºááá¯ááºáááº) ááá¯á·ááá¯áẠloops áá
áºáá¯áá¯ááŸá á¡ááœá²á·á០á¡ááŸá¬ážááŸá¬ááŒááºážá á¡á¬ážáá¯ááºááŸá¯ááᯠááŒááºážáááºááá¯ááºáááºá (áá®á¡ááœááºááŒá±á¬áá·áºááá¯á·ááá¯á· áá°ážáá°ážááŒá¬ážááŒá¬áž áá¯ááºáá²á·áá¬
2. áá¯ááá (áá°ááááá¬áá±á¬áºáááºáž á¡ááœááºá¡áá±ážááŒá®ážááŒá®áž á¡ááŒááºáá¯ááºááŒááºážááŸáá·áº áááºáá¬áááºáá¬áááºá ááºáá±áááº) - ááá¯áá¯á¶áá»á¬áž ááŒá®ážáá±ážáá±á¬ ááŒá¿áá¬áá»á¬ážááᯠááŸá¬ááœá±ááœá±á·ááŸááá«á ááŒááºááŸáá·áºááẠááá¯á¡ááºáááºá áááºááŸááá¬ážááŸááºážááœááºá á¥ááá¬á¡á¬ážááŒáá·áºá Helm ááá á¹á ááœááºá áááºážááá¯á·ááẠáá¯ááºáá±ááŸá¯á ááááºážáááºážáá¬ážáá±á¬ áá¬ážááŸááºážáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá¬ážááá·áº áá¯á¶áá»á¬ážááŒá áºáááºá (á áá¬ážáá ááºá Helm ááœáẠáá°áááºážá¡á¬ážááŒáá·áº ááá·áºáááºáá»ááºááẠ256 áááºážááŒááºááŒááºážááŒá áºáááºá ááá¯á·áá±á¬áº áááºáá°áááᯠá¡ááŸááºááááºáááºáááºááẠááá¯á¡ááºáááºááá¯ááºáá±á ဠáá¬ážááŸááºážá¡ááŒá±á¬ááºá¡áá»á¬áž?..) á¡áá°ážáááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºááá¯ááºážááœáẠáááºážááá¯á·ááá¯á¡áá¯á¶ážááŒá¯ááá¯ááºá á±áááºá¡ááœáẠáá¬ážááŸááºážáá»á¬ážááᯠááááºážáááºážáá¬ážáááºá ááá¯á¡ááºáá«á áá°ááá¯á·ááᯠâááŒááºááŸáá·áºâ áá«á
áááááá- developer ááá¯á¡ááºáá»ááº: áááºážááá¯á·á áááºááŸáá¡áá¯ááºááŸáá·áº áááºá ááºáá±ááá·áº áá¯á¶áá»á¬ážá¡á¬ážáá¯á¶ážá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠPR áá áºáá¯ááᯠá ááºážá á¬ážáá±áá«áá áá±á¬ááºáá¯á¶áž commit ááŸáá·áº áááºááá¯ááºáá±á¬ áá¯á¶áá áºáá¯á¶ááᯠáá»ááºáá¬ážáá²á·áááŒá®áž áááẠcommit áá¯ááá¯ááá¯ááºáááº- á€áááºážááŒáá·áº developer ááẠáááºááá·áºáá¯ááºáááºážááá¯áááᯠáá»ááºááŒááºá áœá¬ ááŒááºááœá¬ážááŒá®áž áá±á¬ááºáá¯á¶ážááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºááá¯ááºáááºááŒá áºáááºá
4. á áá¯áá¹á- áá¯ááºáá¯á¶áá»á¬áž áá»áœááºá¯ááºááá¯á·á á¡ááá®áá±ážááŸááºážá áá¬ážááŸááºážáá»á¬ážááŸáá·áº ááá¯ááºáá®áá«áááºá, i.e. áá±á¬ááºáá¯á¶ážáá¯ááºáá¯ááºáá»á¬ážááŒá áºááŒáááº- v1.0.0, 20.04.01/XNUMX/XNUMX, sierra, etc.
NB- á€áá±áá¬ááœáẠáááºááŸááºáá¬ážáá±á¬ á á¶ááŸá¯ááºážáá»á¬ážááẠáá¯áá¹ááá®áá»á¬áž á¡áá®ážáá®ážá០áá«áááºáá±á«ááºážáá»á¬ážá áœá¬áá±á¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±áž á¡ááœá²á·áá»á¬ážááŸáá·áº á¡ááŒááºá¡ááŸáẠá¡áá»áá¯ážááŒá¯ááá·áº á¡ááœá±á·á¡ááŒá¯á¶á¡áá±á«áº á¡ááŒá±áá¶á áá¯á¶áá±á¬áºáá¬ážáá«áááºá ááá¯á·áá±á¬áºá áá¯ááºáá«áááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá ááºáá»á¬ážááŸáá·áº á¡áá¯á¶ážááŒá¯ááá·áº á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬ážáá±á«áº áá°áááºá (á¥ááᬠKubernetes ááᯠá¡áá¯á¶ážáááŒá¯áá«) á€á á¶ááŸá¯ááºážáá»á¬áž ááœá²ááŒá¬ážááá¯ááºáá«áááºá
á¡áááºá¡áá»ááºážááŒáá·áºáá®ááŸá¯ááŸáá·áº áááºááŸáááŒá±ááŸááºážáá»ááºáá»á¬áž
á ááºážáááºážá¡ááá¯ááºáž ááœááºááááºáá¬á á¬áááºážááœááºážááŒááºážááá¯ááºáᬠáá°ááŒáá¯ááºáá»á¬ážáá±á¬áááºáá±á¬ááºááŸá¯áá»á¬ážááẠáááºážááá¯á·áááá¯ááºááá¯ááºáá¯ááºáá¯á¶ááŸááºážáááºážáá±ážáá°áá«ááá»á¬ážááᯠáá±ážáá±á¬ááºáááº- áááºážááá¯á·ááœáẠáááºáá áºáá¯ááᯠááŸááºáá¯á¶áááºááŒááºážá០áááºááŸá¬ážááá·áºá¡ááŒá±á¡áá±áá»á¬ážááᯠáááºáááºááŸááºááá¯ááºáááºá ááá¯á·áá±á¬áºá á€á¡ááŒá±á¡áá±áá»á¬ážááᯠá¡áááºáá»á¬ážá áááºáá®ážáá»áááºááŸáá·áº áááºá¡áá±á¡ááœááº* áá²á·ááá¯á·áá±á¬ ááá·áºáááºáá»ááºáá»á¬ážááŒáá·áº ááá·áºáááºáá¬ážáááºá
* áááºááŸááºáá¬ážáá±á¬ container registry á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážá¡áá±á«áº áá°áááºáááºá á¡á±á¬ááºáá«ááŒá±ááŸááºážáá»ááºáá»á¬ážáááŒá áºááá¯ááºáá»á±áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·ááá·áºááœááºážá ááºážá á¬ážáááº- Azure CRá Docker Hubá ECRá GCRá GitHub Packagesá GitLab Container Registryá Harbor Registryá JFrog Artifactoryá Quay.io - á ááºáááºáá¬á '2020 áá¯ááŸá áºá¡ááá
á€ááá·áºáááºáá»ááºáá»á¬ážááẠá áá¯áá¹áá á¶áááºááŸááºáá»ááºááᯠáá»á±áááºá á±ááẠáá¯á¶áá±á¬ááºááẠ- ááá¯ááá¯áááºááŸá¬ áá¬ážááŸááºážáá»á¬ážááŸáá·áº ááá¯ááºáá®áá±á¬ áá¯á¶áá»á¬ážááᯠááœá±ážáá»ááºáááºááŒá áºáááºá ááá¯á·áá±á¬áºá á¡ááŒá¬ážáááºááŸááºáá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážá¡ááœááºá áá»áŸá±á¬áºááŸááºážáá»ááºááŸáá·áºááá¹áá¬áá±ážá áœááºážáá±á¬ááºááá¯ááºááŸá¯á¡áá±á«áº áá°áááºá (ááá¯ááá¯ááŒááºážáááºáá±á¬ ááá¯á·ááá¯áẠá¡ááŒááºá¡ááŸááºá¡á¬ážááŒáá·áº ááá¯ááá¯áááºááŸá¬áá±á¬áá°áá«á) ááᯠááœá±ážáá»ááºááááºááŒá áºáááºá
á¥ááá¬á¡á¬ážááŒáá·áºá developer áá»á¬ážáááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áºáááºá ááºáá±á¬ ááááá á¶áááºááŸááºáá»áẠ- á¡ááœá²á·áá»á¬ážá¡ááœááºáž áá¯ááºáááºážá ááºáá»á¬ážááᯠá á¯á ááºážááŒááºážááŒáá·áº ááŒá±ááŸááºážááá¯ááºáááº- áá¯ááºáá¯á¶áá»á¬ážááᯠáááºáááºááŸááºááŸááºá¡áááºáá±ážááŒááºážá á¡áá°ážááœáá·áºááŒá¯á á¬áááºážáá»á¬ážááŸáá·áº áá¬áááœááºážááá±á¬áá°áá®áá»ááºáá»á¬ážááᯠááááºážááááºážááŒááºážá áá«áá±ááá·áº áá±á¬ááºáá¯á¶ážááŸá¬áá±á¬á· á¡ááá¯á¡áá»á±á¬ááºááŒá áºááá¯á·ááá¯áá«áá±ážáááºá á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ ááŒá±ááŸááºážáá»ááºáá»á¬ážá á áœááºážáá±á¬ááºáááºáá»á¬áž ááá¯á¶áá±á¬ááºáá«áá áááºááá¯ááºááá¯áẠáá áºáá¯áá¯áá¯ááºááẠááá¯á¡ááºáááºá
áááá á¶áááºááŸááºáá»ááºááŸá áºáá¯áá«áá±á¬ á¡ááŒá±á¡áá±ááẠáááºáá°áááº- ááŒááºáá áá áºáá áºáá¯á០áá±áá¬ááᯠáááºáá¶áááŸáááŒááºážáááŸááá² áááºážááá¯á·ááẠáá»á±áááºááá¯ááºáááºááá¯ááºáá± - á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠááŒáá·áºáá»ááºáá¬ážááá·áº (áá»áœááºá¯ááºááá¯á·áááá á¹á ááœááºá Kubernetes)á
Git ááŸá á¡áá¯ááºá¡ááœá¬ážá¡áá¬áá¯á¶á¥ááá¬
áááºááẠGit ááœáẠá€áá²á·ááá¯á· áá¯ááºáá±á¬ááºáá±áááºáᯠááá¯ááŒáá«á áá¯á·á
áá¯á¶ááœáẠáá±á«ááºážáá
áºáá¯á¶ážáá«áá±á¬ á¡áá¯ááºááœááºááẠáááºááá·áºá¡áá¯á¶ážááŒá¯áá°áá»á¬áž (á¡áá¯á¶ážá¡áá¯á¶ážááŒá¯áá°áá»á¬ážá á
ááºážáááºáá°áá»á¬ážá áááºáá±áá»á¬áá»á¬áž á
áááºááŒáá·áº) ááá¯á·ááá¯áẠá¡ááŸá¬ážááŸá¬ááŒááºááŒááºážááŸáá·áº á¡áá¬ážáá°áááºááœááºáá»ááºáá»á¬ážá¡ááœáẠáá±á¬á·ááºáá²á¡ááºáá»ááºáá®áá¬áá»á¬ážá á¡áá¯á¶ážááŒá¯áá±ááá·áº Kubernetes ááœáẠáááºááŸáá¡áá¯á¶ážááŒá¯áá±ááá·áº ááœááºááááºáá¬áá¯á¶áá»á¬ážááᯠáá±á¬áºááŒáááºá
ááŸááºážáááºážáá±ážáá°áá«ááá»á¬ážá áá¯á¶áá»á¬ážááá¯áᬠááááºážááááºážáá¬ážááẠááœáá·áºááŒá¯áá«á áá¬ááŒá áºáááºáááºáž (ááá»ááºáá«) áá±ážáá¬ážáá±á¬ tag á¡áááºáá»á¬ážááŒáá·áº?
á€áá²á·ááá¯á·áá±á¬ á¡ááŒá
áºá¡áá»ááºááẠáááºáá°áá
áºáŠážáá
áºáá±á¬ááºááá¯áá»áŸ áá»á±á¬áºááœáŸááºá
á±áááºááá¯ááºááŒá±á¬ááºáž áááºááŸá¬ážáááºá
áá¯ááºáá¯á¶áá»á¬ážááᯠááá»ááºáá áºááẠáá°áá«ááá»á¬ážá ááœáá·áºááŒá¯áá«á áááºááá¯á·ááŒá±á¬ááºážáá²áááºáááºážá áá±ážáá¬ážáá±á¬ á¡áá»áááºááŒá¬ážáá¬á / áá±á¬ááºáá¯á¶áž áááááŒá¯ááŸá¯ á¡áá±á¡ááœááºá¡á?
ááááºá á¡áá»á¬ážááŒá®áž ááá¯áá±á¬ááºážáá¬áá±ááá·áº á
á¶ááŒáá²á·áá±á¬á· áá±ážáá«áá±ážáááºá áá±á¬ááºáá¯á¶ážááœááºá á¡ááŸá¬ážááŸá¬ááŒááºááẠregistry ááœáẠáá¯á¶áá»á¬áž (ááá¯á·ááá¯áẠK8s ááœááºááá·áºááœááºážáá¬ážáááº) ááœáẠáá¯á¶áá»á¬ážááá¯á¡ááºáá±á¬ developer áá»á¬ážááŸááá±áá±ážáááº...
áááºááŸáá á»á±ážááœááºá¡ááŒá±á¡áá±ááᯠá¡áá»ááºážáá»á¯ááºááŒá±á¬ááá»áŸááº- ááœááºááááºáá¬á á¬áááºážááœááºážááŒááºážááœáẠáááŸáááá¯ááºáá±á¬áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠááá·áºááŸááºážáá±ážáá¯ááºááá·áºá¡áá« áá¯á¶áá±á¬ááºáá±á¬ááŒá±á¬ááºážááœááºááŒááºááœááºáááŸááá«á áááºážá¡ááœáẠá¡áááá¡ááŒá±á¬ááºážáááºážááŸá¬á ááŒááºáááá¹áá¬ááŸáá·áº áááºáá¶ááẠáááºážáááºážáááŸááá«á. Docker Registry API (ááá¯á·ááá¯áẠáááºááá¯ááºáᬠá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á áá°áááºáž API) ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá¯á¶áá»ááºááŒááºáž "ááŒááºáááŸ" ááᯠááœááºáááºá áœá¬ áá»ááºááẠááá¡á¬ážáá±ážáá¶áááŒá±á¬ááºáž ááœá±á·ááŸáááá«áááºá
ááá¯á·áá±á¬áºá ááá°áá®áá±á¬ ááŸááºáá¯á¶áááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááá°áá®áá±á¬á¡ááœá²á·áá»á¬ážá¡ááœáẠáá¯ááºáá¯á¶ááŸááºážáááºážááŒááºážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºáá±ážááá·áº universal solution áá áºáá¯ááᯠááŸá¬ááœá±áá±áá«áááº...
áá»áœááºá¯ááºááá¯á·á á ááŒáá á¬áá¯á¶ááá¹áá¬áẠááá·áºááŸááºážáá±ážáá®ááá¯á·
áá®ááá¯á¡ááºáá»ááºá áááºááá¬áá¬áá²á á¡ááŸááºááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠáá®ážááŒá¬áž developer á¡ááœá²á·ááá¯ááºáá±á¬áºáááºáž CI/CD ááŒá¿áá¬áá»á¬ážááᯠáá»ááºáá»ááºááŒáá·áºááŒáá·áºááŒá±ááŸááºážááẠáá°áá®áá±ážáá±á¬ áááºážááá¯á·áá²á០á¡áá»á¬ážá¡ááŒá¬ážááᯠáá
áºáá»áááºáááºážááœáẠáááºáá±á¬ááºááŸá¯áá±ážáá±á¬ á¡ááœá²á·ááŒá
áºáááºá áááºážá¡ááœáẠá¡ááááááºážááá¬ááá¯ááºáá¬áááááá¬ááŸá¬ Open Source utility ááŒá
áºáááºá
áá¯á¶áá»á¬ážááᯠregistry* ááá¯á· ááœáŸáá·áºáááºááŒááºáž (áááºážááá¯á·ááᯠáááºáá±á¬ááºááŒá®ážáá±á¬áẠáá»ááºááŒááºáž) ááẠááá¯áá²á·ááá¯á·áá±á¬ utility á áááá¬áááºááŸá¬ážáá±á¬áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯ááŒá áºáááºá áá¯ááºáá¯á¶áá»á¬ážááᯠááááºážáááºážáááºá¡ááœáẠááá¯áá±áá¬ááœáẠáá¬ážááŸááá¬ážáá±á¬ááŒá±á¬áá·áº - áááºá ááá¯ááŸá±á¬ááºááŸá¯ááẠá¡ááá·áºá¡áááºáááŸááá«á - áááºážááá¯á·á áá±á¬ááºáááºááœá² ááá·áºááŸááºážáá±ážá¡ááœáẠááẠáá¬áááºáá°ááẠááá¯á¡ááºáá«áááºá áááºááŸááºáá¬ážáá²á· á á¶ááŸá¯ááºážááœá±á¡á¬ážáá¯á¶ážááᯠáá»á±áááºá¡á±á¬áẠáááºááá¯á¡á±á¬ááºááŒááºááŸá¯ááá²á·ááá² ááá¯áᬠáááºáááºááœá±ážááœá±ážáá«áŠážáááºá
* ááŸááºáá¯á¶áááºááŒááºážáá»á¬ážááẠáááºážááá¯á·ááá¯ááºááá¯áẠááá°áá®ááá¯ááºáá±á¬áºáááºáž (Docker Registryá GitLab Container Registryá Harbor á áááºááŒáá·áº)á áááºážááá¯á·áá¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáá°áá®áá±á¬ááŒá¿áá¬áá»á¬ážááᯠáááºááá¯ááºááááºá áá»áœááºá¯ááºááá¯á·áááá á¹á ááœáẠuniversal solution ááẠregistry áá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá±á«áºááœááºáá°áááºááŒááºážáááŸááá±á¬ááŒá±á¬áá·áºááŒá áºáááºá ááŸááºáá¯á¶áááºááŒááºážáááŒááºáááœáẠáááºážááá¯á·ááá¯ááºááá¯áẠáá¯ááºáá±á¬ááºááŒá®áž áá°ááá¯ááºážá¡ááœáẠáá°áá®áá±á¬á¡ááŒá¯á¡áá°ááᯠáá±ážáá±á¬ááºáááºá
werf ááᯠááá°áá¬á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á¡ááŒá Ạáá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯áá±áá±á¬áºáááºážá á¡áá¬ážáá°á¡áááºá¡áá²áá»á¬ážááŸáá·áºáááºááá¯ááºáá±ááá±á¬ á¡ááŒá¬ážá¡áááºážáá»á¬ážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá·áºáá»ááºážáááºááŸá¯áá»á¬ážááẠá¡áá¯á¶ážáááºáááá·áºáááºáᯠáá»áŸá±á¬áºááá·áºáá«áááºá
áá«áá²á· áá«ááá¯á· á¡áá¯ááºááŸá¯ááºááœá¬ážáááºá ááŒááºá áá¯á¶áá»á¬ážááᯠááá·áºááŸááºážáá±ážáá¯ááºááẠááá¹ááá¬ážáá
áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºáž - ááœááºááááºáá¬áá»á¬ážá¡ááœáẠá
á¬áááºážááœááºážáá¬ážááŒá®ážáá±á¬ á
áœááºážáááºáá»á¬ážá¡á
á¬ážá áááá¡ááá·áºááŸá¬ áááºá¡áá±á¡ááœááºááŸáá·áº áááºážááá¯á·ááááºáá®ážáá»áááºá¡ááœáẠáá°áá®áá±á¬ áá°ááá°áá«ááá»á¬ážááᯠáááºáá®ážááẠDocker Registry API ááᯠá¡áá¯á¶ážááŒá¯áááºááŒá
áºáááºá áááºážááá¯á·ááᯠááá·áºáá±ážáá²á·áááºá ááŒáá·áºáá»ááºáá¬ážáá±á¬ á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá¬ážáá±á¬ áá¯á¶áá»á¬ážááᯠá¡ááŒá±áá¶á á
á¬áááºážááœáá·áºááŒá¯áá«á, i.e. Kubernetes áá±á¬ááºáá¯á¶ážááœááºá á¡áá¯á¶ážááŒá¯áá¬ážááá·áº á¡áááºážá¡ááŒá
áºáá»á¬ážá¡á¬ážáá¯á¶ážááŸáááá·áº áááºááŒá®ážáá±á¬áºááŒáááºááŸáá·áº áááºááá¯ážá
á¬áááºážáá
áºáá¯ááá°ááẠKubernetes API ááᯠá¡áá¯á¶ážááŒá¯ááẠáá¯á¶áá±á¬ááºáá«áááºá image
.
á€á¡áá±ážá¡ááœá²ááŒá±ááŸááºážáá»ááºááẠá¡ááœááºá¡áá±ážááŒá®ážáá±á¬ááŒá¿áᬠ(á á¶áááºááŸááºáá»ááºáá¶áá«áẠ1) ááᯠááŒá±ááŸááºážáá±ážáá²á·áá±á¬áºáááºáž ááá·áºááŸááºážáá±ážááá¹ááá¬ážááᯠááŒáŸáá·áºáááºááẠáá»áœááºá¯ááºááá¯á·áááá®ážá¡á áá¬ááŒá áºáááºá áá±á¬ááºáá áºááá·áºá ááá¯á áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á· á¡ááá·áºá áá¯á¶ážááŒááºáá»ááºáá«áá²á Git ááŸááºáááºážááŸáá·áº áá¯ááºáá±áá¬ážáá±á¬ áá¯á¶áá»á¬ážááᯠááœá²áááºáá«á.
Tagging á¡á á®á¡á ááºáá»á¬áž
á
áááºáááºá áá±á¬ááºáá¯á¶ážáá¯á¶ááẠááá·áºááŸááºážáá±ážá¡ááœáẠááá¯á¡ááºáá±á¬á¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážáá¬ážááá·áºááŒá®áž tagging á¡á
á®á¡á
ááºáá»á¬ážáá±á«áºááœáẠáá¯ááºáááºážá
ááºááᯠáááºáá±á¬ááºáá±ážááá·áº áá»ááºážáááºááŸá¯áá
áºáá¯ááᯠáá»áœááºá¯ááºááá¯á· ááœá±ážáá»ááºáá²á·áááºá áá¯á¶áá
áºáá¯á¶ááᯠááœáŸáá·áºáááºáá±á¬á¡áá«ááœááºá á¡áá¯á¶ážááŒá¯áá°ááẠáááºááŸááºáá¬ážáá±á¬ tagging ááœá±ážáá»ááºááŸá¯áá
áºáá¯ááᯠááœá±ážáá»ááºáá²á·ááẠ(git-branch
, git-commit
ááá¯á·ááá¯áẠgit-tag
) ááŸáá·áº áááºááá¯ááºáá±á¬áááºááá¯ážááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá CI á
áá
áºáá»á¬ážááœááºá á€áááºááá¯ážáá»á¬ážááᯠáááºáááºážáá»áẠááááºážááŸááºáá»á¬ážáá±á«áºááœáẠá¡ááŒá±áá¶á á¡ááá¯á¡áá»á±á¬áẠáááºááŸááºáá±ážáááºá ááááºáá±á¬á· áá±á¬ááºáá¯á¶ážáá¯á¶ááẠáá®ážááŒá¬áž Git primitive ááŸáá·áº áááºá
ááºáá±áá«áááºáá¡ááœáŸááºážáá»á¬ážááœáẠááá·áºááŸááºážáá±ážá¡ááœáẠááá¯á¡ááºáá±á¬áá±áá¬ááᯠááááºážáááºážááŒááºážá
á€áá»ááºážáááºááŸá¯ááẠGit ááᯠá¡ááŸááºááá¬ážá áá áºáá¯áááºážáá±á¬á¡áááºážá¡ááŒá áºá¡ááŒá Ạá¡áá¯á¶ážááŒá¯ááẠááœáá·áºááŒá¯áá¬ážáá±á¬ áá°áá«áá¡á á¯á¶ááᯠááŒá áºáá±á«áºá á±áááº-
- Git ááŸá á¡ááá¯ááºážá¡áááº/áááºááºáá áºáá¯ááᯠáá»ááºááá¯ááºáá±á¬á¡áá«á ááŸááºáá¯á¶áááºááŒááºážááŸá áááºá ááºáá¯á¶áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠáá»ááºáá áºááá¯ááºáááºá
- Git áááºáá»á¬ážááŸáá·áº áááááŒá¯ááŸá¯áá»á¬ážááŸáá·áº áááºá ááºáá±ááá·áº áá¯á¶á¡áá±á¡ááœááºááᯠááœá±ážáá»ááºáá¬ážááá·áº schema ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº áááºá¡áá±á¡ááœááºááŸáá·áº áááºá áẠáááááŒá¯ááŸá¯ááᯠáááºáá®ážááá·áºá¡áá»áááºááŒáá·áº ááááºážáá»á¯ááºááá¯ááºáááºá
áá±áá¯áá»á¡á¬ážááŒáá·áºá ááááºá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááẠáá»áœááºá¯ááºááá¯á·áááá¯á¡ááºáá»ááºáá»á¬ážááᯠááŒáá·áºáááºážáá±ážáá±á¬áºáááºáž áááŒá¬áá®ááœáẠá
áááºáá±á«áºááŸá¯á¡áá
áºáá
áºáá¯á áá»áœááºá¯ááºááá¯á·ááᯠá
á±á¬áá·áºááŒáá¯áá±áá«áááºá á¡ááŸááºááŸá¬ Git primitives áá»á¬ážááá¯á¡ááŒá±áá¶á tagging schemes ááá¯á¡áá¯á¶ážááŒá¯áá±á
ááºááœáẠáá»áá¯á·ááœááºážáá»ááºáá»á¬ážá
áœá¬ááᯠáá»áœááºá¯ááºááá¯á·ááŒá¯á¶ááœá±á·áá²á·ááááºá (áá°ááá¯á·ááá±á¬áºááŒáá»ááºááẠá€áá±á¬ááºážáá«ážá áá±á¬ááºááá¯áá»á±á¬áºááœááºááœá¬ážáá±á¬ááŒá±á¬áá·áºá áá°ááá¯ááºážááẠá¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážááŸáá·áº áááºážááá¯á·ááᯠáááºážááŸá®ážááá¯ááºáááºá
á¡ááºáááá¯áá®áááºá¡áá áº
á¡áááºááŒá±á¬ááºá·? á¡ááŒá±á¬ááºážá¡áá¬á¡ááŒá±áᶠáááºááŒááºážááŒáá·áºá áááºáá áºáá¯á á®ááẠGit ááœáẠáá»á°ážááœááºááŸá¯áá»á¬ážá áœá¬ááᯠáá»á±áááºá á±ááá¯ááºáááºá áá¯ááºáá¯á¶áá»á¬ážááᯠááá·áºááŸááºážáá±ážáá¯ááºáá±á¬á¡áá«ááœáẠáááºááẠááá°áááá¯ááºáá±á¬á·áá«á áᬠtag á¡áá áºááᯠregistry ááœááºááá·áºáá¬ážááá·áº commit ááŸá
ááá·áºááŸááºážáá±ážááá¯ááºáᬠá¡ááºáááá¯áá®áááºá¡áá áºá¡ááœááºá áááºáá¯ááºááŒááºážá¡á á®á¡á ááºáá»á¬ážááŸáá·áº áááºáá±á¬ááºááŒááºážá០ááœááºááœá¬ááẠáá¯á¶ážááŒááºáá²á·áááºá meta-image áá¯ááºáááºážá ááºá¡á á¯á¡áá±ážáá áºáá¯á á®ááᯠááááºážáááºážáá±ážáá±á¬á
- áá¯á¶ááŸáááºáá¯ááºáá±ááŒááºážá¡á¬áž áá¯ááºáá±á¬ááºáá²á·ááá·áº ááááááẠ(áá¯á¶á¡á¬áž ááá·áºááœááºážááŒááºážá ááŒá±á¬ááºážáá²ááŒááºáž ááá¯á·ááá¯áẠááœááºááááºáá¬á á¬áááºážááœááºážááŒááºážááœáẠá¡áá°áá°ááŸááá±áááºááŒá áºá á± á¡áá±ážáááŒá®ážáá«)á
- ááŸáá·áº á á¯á ááºážáá¬ážáá±á¬ áá¯á¶ááŸáá·áº áááºááá¯ááºáá±á¬ áá»áœááºá¯ááºááá¯á·á á¡ááœááºážááá¯ááºáž identifier
áá áºáááºážááá¯ááá±á¬áº áá±á¬ááºáá¶á·áá±ážáá²á·áááºá Git ááŸá commits áá»á¬ážááŸáá·áº áá¯ááºáá±áá¬ážáá±á¬ tag áá»á¬ážááᯠáá»áááºáááºááŒááºážá.
áá±á¬ááºáá¯á¶ážááœá²á·á ááºážáá¯á¶ááŸáá·áº á¡ááœá±ááœá± á¡ááºáááá¯áá®áááº
ááá·áºááŸááºážáá±ážááᯠá á®á ááºáááºááŸááºááá·áºá¡áá«á á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáááºááŸááá¯á¶áá»á¬ážááᯠááœá±ážáá»ááºááá·áº áá°áá«ááá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áº áááŸááá±ááŒá®ááŒá áºáááºá áááºážáá°áá«ááá áºáá¯á á®ááᯠáááºááŸááºáá¬ážáááº-
- áá»á¬ážá áœá¬áá±á¬ááá¯ážáá¬áž, i.e. á áááºááºáááºáá±á ááºá¡áá¯á¶ážááŒá¯ááá·áº Git tags ááá¯á·ááá¯áẠGit á¡ááá¯ááºážá¡áááºáá»á¬ážá
- ááŸáá·áº set á០á¡ááá¯ážá¡áá¬ážáá áºáá¯á á®á¡ááœáẠááŸá¬ááœá±áá¬ážáá±á¬ áá¯á¶áá»á¬ážá ááá·áºáááºáá»ááºá
á¥ááá¬á¡áá±ááŒáá·áºá á€áááºááŸá¬ áá°ááá°áá«áááœá²á·á ááºážáá¯á¶áá¯á¶á ᶠá áááºáá¯á¶áá±á«áºáááº-
cleanup:
keepPolicies:
- references:
tag: /.*/
limit:
last: 10
- references:
branch: /.*/
limit:
last: 10
in: 168h
operator: And
imagesPerReference:
last: 2
in: 168h
operator: And
- references:
branch: /^(main|staging|production)$/
imagesPerReference:
last: 10
á€ááœá²á·á ááºážáá¯á¶ááœáẠá¡á±á¬ááºáá«á ááºážáá»ááºážáá»á¬ážááŸáá·áº ááá¯ááºáá®ááá·áº áá°áá«ááá¯á¶ážáááºáá«ááŸááááºá
- áá±á¬ááºáá¯á¶áž 10 Git tags (tag áááºáá®ážááá·áºáááºá áœá²ááŒáá·áº) á¡ááœáẠáá¯ááºáá¯á¶ááᯠááááºážáááºážáá«á
- ááŒá®ážáá²á·áá±á¬á¡áááºááœáẠááŸá¯ááºááŸá¬ážááŸá¯áá«áá±á¬ á á¬ááœá² 2 áá¯áááºáááá¯áá² ááŒá®ážáá²á·ááá·áºá¡áááºá áá¯ááºááŒááºáá¬ážáá±á¬ áá¯á¶ 10 áá¯á¶ááẠáááá¯á á±áá² ááááºážáááºážáá«á
- á¡ááá¯ááºážá¡áááºáá»á¬ážá¡ááœáẠáá¯á¶ áá áá¯á¶ ááááºážáááºážáá«á
main
,staging
Оproduction
.
áá±á¬ááºáá¯á¶áž algorithm ááẠá¡á±á¬ááºáá«á¡ááá·áºáá»á¬ážá¡áá ááŒá¯ááºááœá¬ážááẠá
- ááœááºááááºáá¬ááŸááºáá¯á¶áááºááŒááºážá០áááºáá®ážáááºá áºáá»á¬ážááᯠááŒááºáááºááá°ááŒááºážá
- Kubernetes ááœáẠá¡áá¯á¶ážááŒá¯áá¬ážáá±á¬ áá¯á¶áá»á¬áž ááá«áááºáá±á¬ááŒá±á¬áá·áºá K8s API ááᯠá á áºáááºážáá±á¬ááºáá°ááŒááºážááŒáá·áº áááºážááá¯á·ááᯠááŒáá¯áááºááœá±ážáá»ááºáá¬ážááŒá®ážááŒá áºáááºá
- áááºááŸááºáá¬ážáá±á¬ áá°áá«ááá»á¬ážá¡áá±á«áº á¡ááŒá±áá¶á Git ááŸááºáááºážááᯠá áááºááºáááºááŒááºážááŸáá·áº áá¯á¶áá»á¬ážááᯠáááºáá¯ááºááŒááºážá
- áá»ááºáá¯á¶áá»á¬ážááᯠáááºááŸá¬ážááŒááºážá
áá»áœááºá¯ááºááá¯á·ááá¯á¶á¥ááá¬ááá¯á·ááŒááºááœá¬ážáá±á¬á¡áá«á á€á¡áá¬ááẠwerf ááŸáá·áºááŒá áºáá»ááºáááº-
ááá¯á·áá±á¬áº á¡áááºá áááºááẠwerf ááá¯á¡áá¯á¶ážáááŒá¯áá±á¬áºáááºážá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá
áºáᯠááá¯á·ááá¯áẠá¡ááŒá¬ážáá
áºáá¯ááœáẠ(áá¯á¶áá
áºáá¯á¶áá
áºáá¯á¶áá»ááºážáá»áááºááŒááºážá¡ááœáẠááŸá
áºáááºáá±á¬áá»ááºážáááºááŸá¯á¡á) - á¡ááŒá¬ážá
áá
áº/á¡áá¯á¶ážá¡áá±á¬ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá áá®ááá¯áá¯ááºááá¯á·á ááŒá
áºáá±á«áºáá¬áá²á·ááŒá¿áá¬ááœá±ááᯠááŸááºááááŒá®áž áá°ááá¯á·áá²á·ááŒá±ááŸááºážáá»ááºááœá±ááᯠáááºááá¯ááºááá»áŸ áá»á±á¬ááœá±á·á
áœá¬áá±á«ááºážá
ááºážááá¯ááºá
á±ááá·áº ááá·áº stack áá²ááŸá¬ á¡á²áá®á¡ááœáá·áºá¡áááºážááœá±ááᯠááŸá¬ááœá±á·ááá¯á· áá¯á¶áá±á¬ááºáá«áááºá áá«ááá¯á·ááœá¬ážáá²á·áá²á·áááºážá áááºážáá²á·á¡áá±ážá
áááºá¡áá»ááºá¡áááºá¡áá
áºááœá±áá²á· á¡ááœá±ážá¡ááŒááºá¡áá
áºááœá±áá²á· áááºážáá²á·ááá
á¹á
áááºááá¯ááŒáá·áºáá¬ááŸá¬ á¡áá±á¬ááºá¡áá°ááŒá
áºáááºááá¯á· áá»áŸá±á¬áºááá·áºáá«áááºá
áá±á¬ááºáá»ááº
- áá»á¬ážáááŒá¬áá® ááá¯á·ááá¯áẠáá±á¬ááºááá¯ááºážááœáẠá¡áááºážá¡áá»á¬ážá á¯ááẠregistry ááŒáá·áºáá»áŸá¶ááŸá¯ááŒá¿áá¬ááᯠááŒá¯á¶ááœá±á·ááááºá
- á¡ááŒá±áá»á¬ážááá¯ááŸá¬ááœá±áá±á¬á¡áá«á áá¯ááºáá¯á¶ááááºá ááºááŸá¯áá»á¬ážá¡ááœáẠá á¶áááºááŸááºáá»ááºáá»á¬ážááᯠáŠážá áœá¬áá¯á¶ážááŒááºááẠááá¯á¡ááºáá«áááºá
- áá°ááŒáá¯ááºáá»á¬ážáá±á¬ ááœááºááááºáá¬á á¬áááºážááœááºážááŒááºážáááºáá±á¬ááºááŸá¯áá»á¬ážá០áá±ážáá±á¬ááºáá±á¬ áááááá¬áá»á¬ážááẠ"ááŒááºáááá¹áá¬" ááᯠááá·áºááœááºážá ááºážá á¬ážááŒááºážáááŒá¯áá² á¡ááœááºááá¯ážááŸááºážáá±á¬ ááŸááºážáááºážááŸá¯ááᯠá á¯á ááºážááá¯ááºá á±áááº- Kubernetes ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº áá¯á¶áá»á¬ážááŸáá·áº á¡ááœá²á·á áá¯ááºáááºážá¡ááœá¬ážá¡áá¬áá»á¬ážá áá°ážááŒá¬ážáá»ááºáá»á¬ážá
- ááá¯ááºáá»á±á¬áá®ááœá±ááŸáááŒá®áž áááá±á¬ááºáá±á¬ á¡ááºáááá¯áá®áááºáá áºáá¯ááẠCI/CD áá¯ááºáááºážá ááºáá»á¬ážááᯠáá¬ážáááºááá±á¬áá±á«ááºááŒá®áž Docker áá¯ááºáá¯á¶áá±áá¬ááŒáá·áºáá¬áááá² áááºáááºááá¯ááºáááºá
PS
áá»áœááºá¯ááºááá¯á·áááá±á¬á·ááºááœááºáááºážáááºáá«
- «
werf á á¯áá±á¬ááºážáá°ááœáẠá¡ááŒá±á¬ááºážá¡áá¬-á¡ááŒá±áá¶áááºáá¯ááºááŒááºáž- á¡áááºááŒá±á¬áá·áºááŸáá·áº áááºááá¯á·á¡áá¯ááºáá¯ááºááááºážá "; - «
werf ááá¯á· 3-áááºáž áá±á«ááºážá ááºážááŒááºáž- "á áá®ááœáá¯ááºáá»á¬ážáá±á«áºááœááº" Helm ááŒáá·áº Kubernetes ááá¯á· ááŒáá·áºáá»ááºááŒááºáž "; - «
werf ááœáẠmonorepo ááŸáá·áº multirepo á¡ááœáẠáá¶á·ááá¯ážááŸá¯ ááŸáá·áº Docker Registry ááẠáááºážááŸáá·áº áááºááá¯ááºáááºá "; - «
werf 1.1 áá¯ááºáá±ááŸá¯- ááá±á· áááºáá±á¬ááºáá°á¡ááœáẠááá¯ážáááºááŸá¯áá»á¬ážááŸáá·áº á¡áá¬áááºá¡ááœáẠá¡á á®á¡á ááºáá»á¬áž "á
source: www.habr.com