рдореЛрдиреЛ-рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╡рд┐рд╖рдпрд╛рд╡рд░ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдирд┐рдпрдо рдореНрд╣рдгреВрди, рдЦреВрдк рд╕рдХреНрд░рд┐рдп рд╡рд┐рд╡рд╛рдж рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЛ. рдирд┐рд░реНрдорд╛рдг рдХрд░реВрди
werf рдЪреЗ рдЕрд▓реАрдХрдбреАрд▓ рдореЛрдиреЛ-рд░реЗрдкреЛ рд╕рдкреЛрд░реНрдЯ рд╣реЗ рдпрд╛рдЪреЗ рдЙрддреНрддрдо рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ. рдкрд░рдВрддреБ рдкреНрд░рдердо, рд╣реЗ рд╕рдорд░реНрдерди рд╕рд╛рдорд╛рдиреНрдпрддрдГ werf рд╡рд╛рдкрд░рдгреНрдпрд╛рд╢реА рдХрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рдбреЙрдХрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪрд╛ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рдХрд╛рдп рд╕рдВрдмрдВрдз рдЖрд╣реЗ рддреЗ рд╢реЛрдзреВрдпрд╛ ...
рдореБрджреНрджреЗ
рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреА рдХрд▓реНрдкрдирд╛ рдХрд░реВрдпрд╛. рдХрдВрдкрдиреАрдХрдбреЗ рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╡рд░ рдХрд╛рдо рдХрд░рдгрд╛рд░реЗ рдЕрдиреЗрдХ рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдпрд╕рдВрдШ рдЖрд╣реЗрдд. рдмрд╣реБрддреЗрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╡рд░ рдЪрд╛рд▓рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬреНрдб рдЕрд╕рддрд╛рдд. рдХрдВрдЯреЗрдирд░, рдкреНрд░рддрд┐рдорд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдиреЛрдВрджрдгреА (рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА) рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЕрд╢реА рдиреЛрдВрджрдгреА рдореНрд╣рдгреВрди, рдХрдВрдкрдиреА рдПрдХрд╛рдЪ рдЦрд╛рддреНрдпрд╛рд╕рд╣ рдбреЙрдХрд░ рд╣рдм рд╡рд╛рдкрд░рддреЗ COMPANY
. рдмрд╣реБрддреЗрдХ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдорд╛рдгреЗрдЪ, рдбреЙрдХрд░ рд╣рдм рдиреЗрд╕реНрдЯреЗрдб рд░рд┐рдкреЙрдЭрд┐рдЯрд░реА рдкрджрд╛рдиреБрдХреНрд░рдорд╛рд▓рд╛ рдЕрдиреБрдорддреА рджреЗрдд тАЛтАЛрдирд╛рд╣реА, рдЬрд╕реЗ COMPANY/PROJECT/IMAGE
. рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрддтАж рддреБрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рд╕реНрд╡рддрдВрддреНрд░ рдЦрд╛рддреЗ рддрдпрд╛рд░ рди рдХрд░рддрд╛ рдпрд╛ рдорд░реНрдпрд╛рджреЗрд╕рд╣ рдиреЙрди-рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдХрд╕реЗ рд╕реНрдЯреЛрдЕрд░ рдХрд░реВ рд╢рдХрддрд╛?
рдХрджрд╛рдЪрд┐рдд, рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реА рдкрд░рд┐рд╕реНрдерд┐рддреА рдПрдЦрд╛рджреНрдпрд╛рд╕ рдкрд░рд┐рдЪрд┐рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрдЪрдпрди рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдпрд╛, рдореНрд╣рдгрдЬреЗ. рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдг рдЖрдгрд┐ рдбреЙрдХрд░ рд╣рдмрдЪрд╛ рд╕рдВрджрд░реНрдн рди рдШреЗрддрд╛.
рдЙрдкрд╛рдп
рдЕрд░реНрдЬ рдЕрд╕рд▓реНрдпрд╛рд╕ рдореЛрдиреЛрд▓рд┐рдерд┐рдХ, рдПрдХрд╛ рдкреНрд░рддрд┐рдореЗрдордзреНрдпреЗ рдпреЗрддреЗ, рдирдВрддрд░ рдХреЛрдгрддреЗрд╣реА рдкреНрд░рд╢реНрди рдирд╛рд╣реАрдд рдЖрдгрд┐ рдЖрдореНрд╣реА рдлрдХреНрдд рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдХрдВрдЯреЗрдирд░ рдиреЛрдВрджрдгреАрдордзреНрдпреЗ рдЬрддрди рдХрд░рддреЛ.
рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдПрдХрд╛рдзрд┐рдХ рдШрдЯрдХ рдореНрд╣рдгреВрди рд╕рд╛рджрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛, рдирдВрддрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╖реНрдЯреАрдХреЛрди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рджреЛрди рдкреНрд░рддрд┐рдорд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдард░рд╛рд╡рд┐рдХ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░: 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 рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рддрд╕реЗрдЪ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдзреЛрд░рдгрд╛рдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ. рдзреЛрд░рдгреЗ рдЯреЕрдЧреНрдЬрдЪреНрдпрд╛ рд░рдгрдиреАрддреАрдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрдгреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╕рддрд╛рдд. рд╕рдзреНрдпрд╛ рд╕рдорд░реНрдерд┐рдд рдзреЛрд░рдгреЗ:
- рдЯреЕрдЧ, рдмреНрд░рдБрдЪ рдЖрдгрд┐ рдХрдорд┐рдЯ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ Git рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╣рджреНрд╡рд╛рд░реЗ рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ 3 рдзреЛрд░рдгреЗ;
- рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕рд╛рдиреБрдХреВрд▓ рдЯреЕрдЧрд╕рд╛рдареА 1 рдзреЛрд░рдг.
рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рд▓реЗрдмрд▓рдордзреНрдпреЗ рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛рдирд╛ рдЖрдореНрд╣реА рдЯреЕрдЧ рдзреЛрд░рдгрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдЬрддрди рдХрд░рддреЛ. рдЕрд░реНрде рд╕реНрд╡рддрдГ рддрдерд╛рдХрдерд┐рдд рдЖрд╣реЗ рдореЗрдЯрд╛ рдЯреЕрдЧ - рдХрд╛рд╣реА рдкреЙрд▓рд┐рд╕реА рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреВрди рд╢рд╛рдЦрд╛ рдХрд┐рдВрд╡рд╛ рдЯреЕрдЧ рд╣рдЯрд╡рддрд╛рдирд╛, рд╕рдВрдмрдВрдзрд┐рдд рд╣рдЯрд╡рдгреЗ рддрд░реНрдХрд╕рдВрдЧрдд рдЖрд╣реЗ рди рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреАрд▓ рдкреНрд░рддрд┐рдорд╛, рдЬреНрдпрд╛ рдЖрдордЪреНрдпрд╛ рдзреЛрд░рдгрд╛рдВрдЪреНрдпрд╛ рднрд╛рдЧрд╛рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд.
рдПрдХрд╛ рднрд╛рдВрдбрд╛рд░рд╛рдд рдЬрддрди рдХреЗрд▓реНрдпрд╛рд╡рд░ (monorepo
), рдЗрдореЗрдЬ рдЯреЕрдЧрдордзреНрдпреЗ, рдореЗрдЯрд╛ рдЯреЕрдЧ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЗрдореЗрдЬрдЪреЗ рдирд╛рд╡ рджреЗрдЦреАрд▓ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ: PROJECT:frontend-META-TAG
. рддреНрдпрд╛рдВрдирд╛ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдХреЛрдгрддрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рднрд╛рдЬрдХ рд╕рд╛рджрд░ рдХреЗрд▓рд╛ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдкреНрд░рдХрд╛рд╢рди рдХрд░рддрд╛рдирд╛ рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рд▓реЗрдмрд▓рдордзреНрдпреЗ рдЖрд╡рд╢реНрдпрдХ рдореВрд▓реНрдп рдЬреЛрдбрд▓реЗ.
NB: рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ werf рд╕реЛрд░реНрд╕ рдХреЛрдбрдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреА рдкрд╛рд╣рдгреНрдпрд╛рдд рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕реЗрд▓, рддрд░ рд╕реБрд░реБрд╡рд╛рддреАрдЪрд╛ рдмрд┐рдВрджреВ рдЕрд╕реВ рд╢рдХрддреЛ
рдпрд╛ рд▓реЗрдЦрд╛рдд, рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ рдФрдЪрд┐рддреНрдп рдпрд╛рд╡рд░ рдЕрдзрд┐рдХ рд▓рдХреНрд╖ рджреЗрдгрд╛рд░ рдирд╛рд╣реА: рд░рдгрдиреАрддреА рдЯреЕрдЧ рдХрд░рдгреЗ, рд▓реЗрдмрд▓реНрд╕рдордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ - рдпрд╛ рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреАрдВрдЪреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рджрд┐рдорд┐рддреНрд░реА рд╕реНрдЯреЛрд▓рд┐рдпрд╛рд░реЛрд╡реНрд╣рдЪреНрдпрд╛ рдЕрд▓реАрдХрдбреАрд▓ рдЕрд╣рд╡рд╛рд▓рд╛рдд рдХреЗрд▓реЗ рдЖрд╣реЗ: тАЬ
рд╕рд╛рд░рд╛рдВрд╢ рдХрд░рдгреЗ
рдЕрдирдиреЗрд╕реНтАНрдЯ рд░рдЬрд┐рд╕реНтАНрдЯреНрд░реАрдЬрдЪреНтАНрдпрд╛ рд╕рдорд░реНрдердирд╛рдЪрд╛ рдЕрднрд╛рд╡ рд╣рд╛ рдЖрдореНтАНрд╣рд╛рд▓рд╛ рдХрд┐рдВрд╡рд╛ рдЖрдореНтАНрд╣рд╛рд▓рд╛ рдЬреНрдЮрд╛рдд рдЕрд╕рд▓реЗрд▓реНтАНрдпрд╛ werf рд╡рд╛рдкрд░рдХрд░реНрддреНтАНрдпрд╛рдВрд╕рд╛рдареА рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгрд╛рд░рд╛ рдШрдЯрдХ рдирд╡реНрд╣рддрд╛ - рд╢реЗрд╡рдЯреА, рддреБрдореНрд╣реА рдиреЗрд╣рдореА рдПрдХ рд╡реЗрдЧрд│реА рдЗрдореЗрдЬ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рд╡рд╛рдврд╡реВ рд╢рдХрддрд╛ (рдХрд┐рдВрд╡рд╛ Google Cloud рдордзреАрд▓ рдХрдВрдбрд┐рд╢рдирд▓ рдХрдВрдЯреЗрдирд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░реВ рд╢рдХрддрд╛)... рддрдерд╛рдкрд┐, рд╡рд┐рд╕реНрддреАрд░реНрдг DevOps рд╕рдореБрджрд╛рдпрд╛рд╕рд╛рдареА рд╕рд╛рдзрди рдЕрдзрд┐рдХ рд╕реЛрдпреАрд╕реНрдХрд░ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдЕрд╕реЗ рдирд┐рд░реНрдмрдВрдз рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рддрд░реНрдХрд╕рдВрдЧрдд рд╡рд╛рдЯрд▓реЗ. рддреНрдпрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рддрд╛рдирд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рдХреНрд▓реАрдирдЕрдк рдпрдВрддреНрд░рдгрд╛ рдкреБрдиреНрд╣рд╛ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдд рдореБрдЦреНрдп рдЕрдбрдЪрдг рдЖрд▓реА. рдЖрддрд╛ рд╕рд░реНрд╡ рдХрд╛рд╣реА рддрдпрд╛рд░ рдЭрд╛рд▓реЗ рдЖрд╣реЗ, рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ рдХреА рд╣реЗ рдПрдЦрд╛рджреНрдпрд╛рд╕рд╛рдареА рд╕реЛрдкреЗ рдЭрд╛рд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ (рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕рдХ рдореНрд╣рдгреВрди) рдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рдгреНрдпрд╛рдд рдХреЛрдгрддреНрдпрд╛рд╣реА рд▓рдХреНрд╖рдгреАрдп рдЕрдбрдЪрдгреА рдпреЗрдгрд╛рд░ рдирд╛рд╣реАрдд.
рдЖрдордЪреНрдпрд╛рд╕реЛрдмрдд рд░рд╣рд╛ рдЖрдгрд┐ рд▓рд╡рдХрд░рдЪ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдЗрддрд░ рдирд╡рдХрд▓реНрдкрдирд╛рдВрдмрджреНрджрд▓ рд╕рд╛рдВрдЧреВ
PS
рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:
- ┬л
рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рдпрдорд┐рдд Dockerfile рд╡рд╛рдкрд░реВрди werf рдордзреНрдпреЗ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ "; - ┬л
werf - Kubernetes рдордзреАрд▓ CI/CD рд╕рд╛рдареА рдЖрдордЪреЗ рд╕рд╛рдзрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓) ┬╗.
рд╕реНрддреНрд░реЛрдд: www.habr.com