Werf рдореЗрдВ рдореЛрдиреЛрд░реЗрдкреЛ рдФрд░ рдорд▓реНрдЯреАрд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ

Werf рдореЗрдВ рдореЛрдиреЛрд░реЗрдкреЛ рдФрд░ рдорд▓реНрдЯреАрд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ

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

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

рд╕рдорд╕реНрдпрд╛рдПрдБ

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

Werf рдореЗрдВ рдореЛрдиреЛрд░реЗрдкреЛ рдФрд░ рдорд▓реНрдЯреАрд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ

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

рд╕рдорд╛рдзрд╛рди рдХреЗ рддрд░реАрдХреЗ

рдпрджрд┐ рдЖрд╡реЗрджрди рдЕрдЦрдВрдб, рдПрдХ рдЫрд╡рд┐ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдо рдХреЗрд╡рд▓ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред

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

  1. рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдиреЗрд╕реНрдЯреЗрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ:

    Werf рдореЗрдВ рдореЛрдиреЛрд░реЗрдкреЛ рдФрд░ рдорд▓реНрдЯреАрд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ

  2. рд╕рдм рдХреБрдЫ рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ, рдФрд░ рдЯреИрдЧ рдореЗрдВ рдЫрд╡рд┐ рдирд╛рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

    Werf рдореЗрдВ рдореЛрдиреЛрд░реЗрдкреЛ рдФрд░ рдорд▓реНрдЯреАрд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ

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

рд╡реЗрдпрд░рдл рд╕рдорд░реНрдерди

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

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

рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реЗрдпрд░рдл рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░, CI / CD рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рд╕реНрдЯреЛрд░реЗрдЬ рдореЛрдб рдЖрдорддреМрд░ рдкрд░ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрд┐рдЯрд▓реИрдм рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдмрд╕ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛрдбрд╝реЗрдВ: рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> рд╕реАрдЖрдИ / рд╕реАрдбреА -> рдЪрд░: WERF_IMAGES_REPO_MODE: multirepo|monorepo.

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

рд╢реИрддрд╛рди рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╣реИ

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

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

  1. рдЧрд┐рдЯ рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡ рд╕реЗ рдЬреБрдбрд╝реА 3 рд░рдгрдиреАрддрд┐рдпрд╛рдБ рдЬреИрд╕реЗ рдЯреИрдЧ, рдмреНрд░рд╛рдВрдЪ рдФрд░ рдХрдорд┐рдЯ;
  2. рдордирдорд╛рдирд╛ рдХрд╕реНрдЯрдо рдЯреИрдЧ рдХреЗ рд▓рд┐рдП 1 рд░рдгрдиреАрддрд┐ред

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

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

NB: рдпрджрд┐ рдЖрдк рд╡реЗрдпрд░рдл рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣рд░ рдЪреАрдЬ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдкреАрдЖрд░ 1684.

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдФрдЪрд┐рддреНрдп рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗ: рдЯреИрдЧрд┐рдВрдЧ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд▓реЗрдмрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ - рдпрд╣ рд╕рдм рджрд┐рдорд┐рддреНрд░реА рд╕реНрдЯреЛрд▓рд╛рд░реЛрд╡ рдХреА рд╣рд╛рд▓рд┐рдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИ: "рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ CI/CD рдХреЗ рд▓рд┐рдП Werf рд╣рдорд╛рд░рд╛ рдЯреВрд▓ рд╣реИ'.

рд╕рд╛рд░рд╛рдВрд╢

рдЧреИрд░-рдиреЗрд╕реНрдЯреЗрдб рд░рдЬрд┐рд╕реНрдЯреНрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдХрдореА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рд╡реЗрдпрд░рдлрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рд░реЛрдзрдХ рдХрд╛рд░рдХ рдирд╣реАрдВ рдерд╛ - рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдк рд╣рдореЗрд╢рд╛ рдПрдХ рдЕрд▓рдЧ рдЫрд╡рд┐ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛ Google рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдПрдХ рд╕рд╢рд░реНрдд рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) ... рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдз рдХреЛ рд╣рдЯрд╛рдирд╛ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ DevOps рд╕рдореБрджрд╛рдп рдХреЛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреНрд▓реАрдирдЕрдк рдореИрдХреЗрдирд┐рдЬреНрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдореБрдЦреНрдп рдХрдард┐рдирд╛рдИ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЕрдм рдЬрдм рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рдо (рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ) рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдмрдиреЗ рд░рд╣рд┐рдП рд╣рдорд╛рд░реЗ рд╕рд╛рде рдФрд░ рдмрд╣реБрдд рдЬрд▓реНрдж рд╣рдо рдЖрдкрдХреЛ рдЕрдиреНрдп рдЗрдиреЛрд╡реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВрдЧреЗ Werf!

рдкреБрдирд╢реНрдЪ

рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рднреА рдкрдврд╝реЗрдВ:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ