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