werf рдорд╛ рдореЛрдиреЛрд░реЗрдкреЛ рд░ рдорд▓реНрдЯрд┐рд░реЗрдкреЛрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд░ рдбрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд▓реЗ рдпрд╕рд╕рдБрдЧ рдХреЗ рдЧрд░реНрдиреБрдкрд░реНрджрдЫ

werf рдорд╛ рдореЛрдиреЛрд░реЗрдкреЛ рд░ рдорд▓реНрдЯрд┐рд░реЗрдкреЛрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд░ рдбрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд▓реЗ рдпрд╕рд╕рдБрдЧ рдХреЗ рдЧрд░реНрдиреБрдкрд░реНрджрдЫ

рдПрдХ рдореЛрдиреЛ-рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХреЛ рд╡рд┐рд╖рдп рдПрдХ рдкрдЯрдХ рднрдиреНрджрд╛ рдмрдвреА рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░, рдПрдХ рдирд┐рдпрдо рдХреЛ рд░реВрдк рдорд╛, рдзреЗрд░реИ рд╕рдХреНрд░рд┐рдп рд╡рд┐рд╡рд╛рдж рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫред рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрд░ рд╡рд╛рдл Git рджреЗрдЦрд┐ рдбрдХрд░ рдЫрд╡рд┐рд╣рд░реВрдорд╛ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдХреЛрдб рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЙрдкрдХрд░рдгрдХреЛ рд░реВрдкрдорд╛ (рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ Kubernetes рдорд╛ рдбреЗрд▓рд┐рднрд░ рдЧрд░реНрдиреЗ), рд╣рд╛рдореА рдХреБрди рдЫрдиреМрдЯ рдЙрддреНрддрдо рд╣реЛ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдзреЗрд░реИ рд╕реЛрдЪреНрджреИрдиреМрдВред рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐, рдлрд░рдХ рд╡рд┐рдЪрд╛рд░рдХрд╛ рд╕рдорд░реНрдердХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рд╕рдмреИ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЙрдиреБ рдкреНрд░рд╛рдердорд┐рдХ рд╣реЛ (рдпрджрд┐ рдпрд╕рд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рдирдХреЛ рд╡рд┐рд░реЛрдз рдЧрд░реНрджреИрди, рдЕрд╡рд╢реНрдп рдкрдирд┐)ред

werf рдХреЛ рд╣рд╛рд▓рдХреЛ рдореЛрдиреЛ-рд░реЗрдкреЛ рд╕рдорд░реНрдерди рдпрд╕рдХреЛ рд░рд╛рдореНрд░реЛ рдЙрджрд╛рд╣рд░рдг рд╣реЛред рддрд░ рдкрд╣рд┐рд▓реЗ, рдпреЛ рд╕рдорд░реНрдерди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ werf рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирд╕рдБрдЧ рдХрд╕рд░реА рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ рд░ рдбрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд▓реЗ рдпрд╕рд╕рдБрдЧ рдХреЗ рдЧрд░реНрдиреБ рдкрд░реНрдЫ рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реН ...

рдореБрджреНрджрд╛рд╣рд░реВ

рдпрд╕реНрддреЛ рдЕрд╡рд╕реНрдерд╛рдХреЛ рдХрд▓реНрдкрдирд╛ рдЧрд░реМрдВред рдХрдореНрдкрдиреАрд╕рдБрдЧ рд╕реНрд╡рддрдиреНрддреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдзреЗрд░реИ рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАрд╣рд░реВ рдЫрдиреНред рдзреЗрд░реИ рдЬрд╕реЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ Kubernetes рдорд╛ рдЪрд▓реНрдЫрдиреН рд░ рддреНрдпрд╕реИрд▓реЗ рдХрдиреНрдЯреЗрдирд░рд╛рдЗрдЬреНрдб рд╣реБрдиреНрдЫрдиреНред рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ, рдЫрд╡рд┐рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓рд╛рдИ рд░рдЬрд┐рд╕реНрдЯреНрд░реА (рд░рдЬрд┐рд╕реНрдЯреНрд░реА) рдЪрд╛рд╣рд┐рдиреНрдЫред рдпрд╕реНрддреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдХреЛ рд░реВрдкрдорд╛, рдХрдореНрдкрдиреАрд▓реЗ рдПрдХрд▓ рдЦрд╛рддрд╛рдХреЛ рд╕рд╛рде рдбрдХрд░ рд╣рдм рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ COMPANYред рдзреЗрд░реИ рд╕реНрд░реЛрдд рдХреЛрдб рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА рдЬрд╕реНрддреИ, рдбрдХрд░ рд╣рдмрд▓реЗ рдиреЗрд╕реНрдЯреЗрдб рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдкрджрд╛рдиреБрдХреНрд░рдорд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИрди, рдЬрд╕реНрддреИ COMPANY/PROJECT/IMAGEред рддреНрдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛... рддрдкрд╛рдЗрдБ рдХрд╕рд░реА рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдЦрд╛рддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдирдЧрд░реАрдХрди рдпрд╕ рд╕реАрдорд╛рдХреЛ рд╕рд╛рде рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рдЧреИрд░-рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ?

werf рдорд╛ рдореЛрдиреЛрд░реЗрдкреЛ рд░ рдорд▓реНрдЯрд┐рд░реЗрдкреЛрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд░ рдбрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд▓реЗ рдпрд╕рд╕рдБрдЧ рдХреЗ рдЧрд░реНрдиреБрдкрд░реНрджрдЫ

рд╕рд╛рдпрдж, рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЕрд╡рд╕реНрдерд╛ рдХрд╕реИрд▓рд╛рдИ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ рдкрд░рд┐рдЪрд┐рдд рдЫ, рддрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрдгреНрдбрд╛рд░рдг рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗ рдореБрджреНрджрд╛рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реМрдВ, рдЕрд░реНрдерд╛рддреНред рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдг рд░ рдбрдХрд░ рд╣рдмрдХреЛ рд╕рдиреНрджрд░реНрдн рдмрд┐рдирд╛ред

рд╕рдорд╛рдзрд╛рдирд╣рд░реВ

рдпрджрд┐ рдЖрд╡реЗрджрди рдореЛрдиреЛрд▓рд┐рдерд┐рдХ, рдПрдЙрдЯрд╛ рдЫрд╡рд┐рдорд╛ рдЖрдЙрдБрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЫреИрдирдиреН рд░ рд╣рд╛рдореА рдХреЗрд╡рд▓ рдЫрд╡рд┐рд╣рд░реВрд▓рд╛рдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рдмрдЪрдд рдЧрд░реНрдЫреМрдВред

рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд▓рд╛рдИ рдзреЗрд░реИ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдиреНрдЫ, рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рд╣рд░реВрддреНрдпрд╕рдкрдЫрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрд╡рд╢реНрдпрдХ рдЫред рджреБрдИ рддрд╕реНрдмрд┐рд░рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рднрдПрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛: frontend ╨╕ backend - рд╕рдореНрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рд╣реБрдиреН:

  1. рддрд╕реНрдмрд┐рд░рд╣рд░реВрд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рдиреЗрд╕реНрдЯреЗрдб рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

    werf рдорд╛ рдореЛрдиреЛрд░реЗрдкреЛ рд░ рдорд▓реНрдЯрд┐рд░реЗрдкреЛрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд░ рдбрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд▓реЗ рдпрд╕рд╕рдБрдЧ рдХреЗ рдЧрд░реНрдиреБрдкрд░реНрджрдЫ

  2. рд╕рдмреИ рдХреБрд░рд╛ рдПрдХ рднрдгреНрдбрд╛рд░рдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рдЯреНрдпрд╛рдЧрдорд╛ рдЫрд╡рд┐ рдирд╛рдорд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░:

    werf рдорд╛ рдореЛрдиреЛрд░реЗрдкреЛ рд░ рдорд▓реНрдЯрд┐рд░реЗрдкреЛрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рд░ рдбрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд▓реЗ рдпрд╕рд╕рдБрдЧ рдХреЗ рдЧрд░реНрдиреБрдкрд░реНрджрдЫ

NB: рд╡рд╛рд╕реНрддрд╡рдорд╛, рд╡рд┐рднрд┐рдиреНрди рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ рдмрдЪрддрдХреЛ рд╕рд╛рде рдЕрд░реНрдХреЛ рд╡рд┐рдХрд▓реНрдк рдЫ, PROJECT-frontend ╨╕ PROJECT-backend, рддрд░ рд╣рд╛рдореА рд╕рдорд░реНрдерди, рд╕рдВрдЧрдарди рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рдмреАрдЪ рдЕрдзрд┐рдХрд╛рд░рдХреЛ рд╡рд┐рддрд░рдгрдХреЛ рдЬрдЯрд┐рд▓рддрд╛рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрджреИрдиреМрдВред

werf рд╕рдорд░реНрдерди

рдкреНрд░рд╛рд░рдореНрднрдорд╛, werf рд▓реЗ рдиреЗрд╕реНрдЯреЗрдб рд░рд┐рдкреЛрдЬрд┐рдЯрд░реАрд╣рд░реВрдорд╛ рд╕реАрдорд┐рдд рдЧрд░реНрдпреЛ - рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, рдзреЗрд░реИ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд╣рд░реВрд▓реЗ рдпреЛ рд╕реБрд╡рд┐рдзрд╛рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рд╕рдВрд╕реНрдХрд░рдгрдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реНрджреИ v1.0.4-alpha.3, рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдердкрд┐рдпреЛ рдЬрд╕рдорд╛ рдиреЗрд╕реНрдЯрд┐рдЩ рд╕рдорд░реНрдерд┐рдд рдЫреИрди, рд░ рдбрдХрд░ рд╣рдм рддреА рдордзреНрдпреЗ рдПрдХ рд╣реЛред рддреНрдпрд╕ рдмрд┐рдиреНрджреБрдмрд╛рдЯ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╕рдБрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЫрд╡рд┐рд╣рд░реВ рдХрд╕рд░реА рднрдгреНрдбрд╛рд░ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдЫрдиреМрдЯ рдЫред

рд╡рд┐рдХрд▓реНрдк рдЕрдиреНрддрд░реНрдЧрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрдкрд▓рдмреНрдз рдЫ --images-repo-mode=multirepo|monorepo (рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд multirepo, рдЕрд░реНрдерд╛рддреН рдиреЗрд╕реНрдЯреЗрдб рд░рд┐рдкреЛрдЬрд┐рдЯрд░реАрд╣рд░реВрдорд╛ рднрдгреНрдбрд╛рд░рдг)ред рдпрд╕рд▓реЗ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ рдЬрд╕рджреНрд╡рд╛рд░рд╛ рдЫрд╡рд┐рд╣рд░реВ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫред рдЖрдзрд╛рд░рднреВрдд рдЖрджреЗрд╢рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдЗрдЪреНрдЫрд┐рдд рдореЛрдб рдЪрдпрди рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫ, рд░ рд╕рдмреИ рдХреБрд░рд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рдиреЗрдЫред

рдХрд┐рдирдХрд┐ рдзреЗрд░реИ рдЬрд╕реЛ werf рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░, CI / CD рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛, рднрдгреНрдбрд╛рд░рдг рдореЛрдб рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╕рдореНрдкреВрд░реНрдг рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд░реВрдкрдорд╛ рд╕реЗрдЯ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, GitLab рдХреЛ рдорд╛рдорд▓рд╛ рдорд╛ рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдердкреНрдиреБрд╣реЛрд╕реН: рд╕реЗрдЯрд┐рдЩрд╣рд░реВ -> CI / CD -> рдЪрд░: WERF_IMAGES_REPO_MODE: multirepo|monorepo.

рдпрджрд┐ рд╣рд╛рдореА рдЫрд╡рд┐рд╣рд░реВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗ рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд░реЛрд▓ рдЖрдЙрдЯ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрдЫреМрдВ (рддрдкрд╛рдИрд▓реЗ рдпреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рдХрд╛рдЧрдЬрд╛рдд рд▓реЗрдЦрд╣рд░реВрдорд╛ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ ╨╕ рдбрд┐рдкреНрд▓реЛрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛), рддреНрдпрд╕рдкрдЫрд┐ рдореЛрдбрд▓реЗ рдорд╛рддреНрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ рдЬрд╕рджреНрд╡рд╛рд░рд╛ рддрдкрд╛рдЗрдБ рдЫрд╡рд┐рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╢реИрддрд╛рди рд╡рд┐рд╡рд░рдгрдорд╛ рдЫ

рдирдпрд╛рдБ рднрдгреНрдбрд╛рд░рдг рд╡рд┐рдзрд┐ рдердкреНрджрд╛ рдлрд░рдХ рд░ рдореБрдЦреНрдп рдХрдард┐рдирд╛рдИ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕рдлрд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдЫ (werf рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╢реБрджреНрдз рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рд╕рдлрд╛рдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛).

рд╕рдлрд╛ рдЧрд░реНрджрд╛, werf рд▓реЗ Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдЫрд╡рд┐рд╣рд░реВ, рд╕рд╛рдереИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХрд╛ рдиреАрддрд┐рд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдЫред рдиреАрддрд┐рд╣рд░реВ рд░рдгрдиреАрддрд┐рд╣рд░реВрдорд╛ рдЯреНрдпрд╛рдЧрд╣рд░реВрдХреЛ рд╡рд┐рднрд╛рдЬрдирдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╣реБрдиреНрдЫрдиреНред рд╣рд╛рд▓ рд╕рдорд░реНрдерд┐рдд рд░рдгрдиреАрддрд┐рд╣рд░реВ:

  1. 3 рд░рдгрдиреАрддрд┐рд╣рд░реВ рдЯреНрдпрд╛рдЧ, рд╢рд╛рдЦрд╛, рд░ рдХрдорд┐рдЯ рдЬрд╕реНрддрд╛ Git рдЖрджрд┐рдо рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд┐рдПрдХреЛ;
  2. рдордирдорд╛рдиреА рдЕрдиреБрдХреВрд▓рди рдЯреНрдпрд╛рдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ 1 рд░рдгрдиреАрддрд┐ред

рд╣рд╛рдореАрд▓реЗ рдЕрдиреНрддрд┐рдо рдЫрд╡рд┐рдХреЛ рд▓реЗрдмрд▓рд╣рд░реВрдорд╛ рдЫрд╡рд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрджрд╛ рдЯреНрдпрд╛рдЧ рд░рдгрдиреАрддрд┐рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдмрдЪрдд рдЧрд░реНрдЫреМрдВред рдЕрд░реНрде рдЖрдлреИрдорд╛ рддрдерд╛рдХрдерд┐рдд рдЫ рдореЗрдЯрд╛ рдЯреНрдпрд╛рдЧ - рдХреЗрд╣реА рдиреАрддрд┐рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, Git рднрдгреНрдбрд╛рд░рдмрд╛рдЯ рд╢рд╛рдЦрд╛ рд╡рд╛ рдЯреНрдпрд╛рдЧ рдореЗрдЯрд╛рдЙрдБрджрд╛, рд╕рдореНрдмрдиреНрдзрд┐рдд рдореЗрдЯрд╛рдЙрди рддрд╛рд░реНрдХрд┐рдХ рдЫред рдкреНрд░рдпреЛрдЧ рдирдЧрд░рд┐рдПрдХреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдмрд╛рдЯ рдЫрд╡рд┐рд╣рд░реВ, рдЬреБрди рд╣рд╛рдореНрд░реЛ рдиреАрддрд┐рд╣рд░реВрдХреЛ рдЕрдВрд╢рджреНрд╡рд╛рд░рд╛ рдХрднрд░ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдПрдХ рднрдгреНрдбрд╛рд░рдорд╛ рдмрдЪрдд рдЧрд░реНрджрд╛ (monorepo), рдЫрд╡рд┐ рдЯреНрдпрд╛рдЧрдорд╛, рдореЗрдЯрд╛ рдЯреНрдпрд╛рдЧрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЫрд╡рд┐рдХреЛ рдирд╛рдо рдкрдирд┐ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ: PROJECT:frontend-META-TAGред рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрд▓рдЧ рдЧрд░реНрди, рд╣рд╛рдореАрд▓реЗ рдХреБрдиреИ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рднрд╛рдЬрдХ рдкрд░рд┐рдЪрдп рджрд┐рдПрдиреМрдВ, рддрд░ рдкреНрд░рдХрд╛рд╢рди рдЧрд░реНрджрд╛ рдЕрдиреНрддрд┐рдо рдЫрд╡рд┐рдХреЛ рд▓реЗрдмрд▓рдорд╛ рдЖрд╡рд╢реНрдпрдХ рдорд╛рди рдердкреЗрдХрд╛ рдЫреМрдВред

NB: рдпрджрд┐ рддрдкрд╛рдЗрдБ werf рд╕реНрд░реЛрдд рдХреЛрдбрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рдХреБрд░рд╛рд╣рд░реВ рд╣реЗрд░реНрди рдЗрдЪреНрдЫреБрдХ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рд╕реБрд░реВрд╡рд╛рдд рдмрд┐рдиреНрджреБ рд╣реБрди рд╕рдХреНрдЫ рдкреАрдЖрд░ 1684.

рдпрд╕ рд▓реЗрдЦрдорд╛, рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд╕рдорд╕реНрдпрд╛ рд░ рдФрдЪрд┐рддреНрдпрдорд╛ рдердк рдзреНрдпрд╛рди рджрд┐рдиреЗрдЫреИрдиреМрдВ: рдЯреНрдпрд╛рдЧрд┐рдЩ рд░рдгрдиреАрддрд┐рд╣рд░реВ, рд▓реЗрдмрд▓рд╣рд░реВрдорд╛ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рд░ рд╕рдордЧреНрд░ рд░реВрдкрдорд╛ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ - рдпреЛ рд╕рдмреИ рджрд┐рдорд┐рддреНрд░реА рд╕реНрдЯреЛрд▓реНрдпрд╛рд░реЛрдн рджреНрд╡рд╛рд░рд╛ рд╣рд╛рд▓реИрдХреЛ рд░рд┐рдкреЛрд░реНрдЯрдорд╛ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ: "werf Kubernetes рдорд╛ CI/CD рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореНрд░реЛ рдЙрдкрдХрд░рдг рд╣реЛ"ред

рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЧрд░реНрди

рдЕрдиреЗрд╕реНрдЯреЗрдб рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердирдХреЛ рдЕрднрд╛рд╡ рд╣рд╛рдореАрд▓рд╛рдИ рд╡рд╛ рд╣рд╛рдореАрд▓рд╛рдИ рдерд╛рд╣рд╛ рднрдПрдХрд╛ werf рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЕрд╡рд░реБрджреНрдз рдЧрд░реНрдиреЗ рдХрд╛рд░рдХ рдерд┐рдПрди - рдЬреЗ рднрдП рдкрдирд┐, рддрдкрд╛рдИрдВрд▓реЗ рд╕рдзреИрдВ рдЫреБрдЯреНрдЯреИ рдЫрд╡рд┐ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдмрдврд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ (рд╡рд╛ рдЧреБрдЧрд▓ рдХреНрд▓рд╛рдЙрдбрдорд╛ рд╕рд╢рд░реНрдд рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН) ... рдпрджреНрдпрдкрд┐, рдЙрдкрдХрд░рдгрд▓рд╛рдИ рдлрд░рд╛рдХрд┐рд▓реЛ DevOps рд╕рдореБрджрд╛рдпрд▓рд╛рдИ рдЕрдЭ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕реНрддреЛ рдкреНрд░рддрд┐рдмрдиреНрдз рд╣рдЯрд╛рдЙрди рддрд╛рд░реНрдХрд┐рдХ рджреЗрдЦрд┐рдиреНрдереНрдпреЛред рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджреИ, рд╣рд╛рдореАрд▓реЗ рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕рдлрд╛рдИ рд╕рдВрдпрдиреНрддреНрд░рд▓рд╛рдИ рдкреБрди: рдХрд╛рд░реНрдп рдЧрд░реНрдирдорд╛ рдореБрдЦреНрдп рдХрдард┐рдирд╛рдИрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНтАНрдпреМрдВред рдЕрдм рдЬрдм рд╕рдмреИ рддрдпрд╛рд░ рдЫ, рдпреЛ рдХрд╕реИрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдЬрд┐рд▓реЛ рднрдПрдХреЛ рдорд╣рд╕реБрд╕ рдЧрд░реНрди рдкрд╛рдЙрдБрджрд╛ рд░рд╛рдореНрд░реЛ рдЫ, рд░ рд╣рд╛рдореА (рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд░реВрдкрдорд╛) рдпрд╕ рд╕реБрд╡рд┐рдзрд╛рд▓рд╛рдИ рдердк рд╕рдорд░реНрдерди рдЧрд░реНрди рдХреБрдиреИ рдкрдирд┐ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдХрдард┐рдирд╛рдЗрд╣рд░реВ рд╣реБрдиреЗрдЫреИрдиред

рд╣рд╛рдореАрд╕рдБрдЧ рд░рд╣рдиреБрд╣реЛрд╕реН рд░ рдЫрд┐рдЯреНрдЯреИ рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдмрддрд╛рдЙрдиреЗрдЫреМрдВ рд╡рд╛рдл!

PS

рд╣рд╛рдореНрд░реЛ рдмреНрд▓рдЧрдорд╛ рдкрдирд┐ рдкрдвреНрдиреБрд╣реЛрд╕реН:

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди