рдХрдиреНрдЯреЗрдирд░ рдЫрд╡рд┐рд╣рд░реВрдХреЛ "рд╕реНрдорд╛рд░реНрдЯ" рд╕рдлрд╛рдИрдХреЛ рд╕рдорд╕реНрдпрд╛ рд░ werf рдорд╛ рдпрд╕рдХреЛ рд╕рдорд╛рдзрд╛рди

рдХрдиреНрдЯреЗрдирд░ рдЫрд╡рд┐рд╣рд░реВрдХреЛ "рд╕реНрдорд╛рд░реНрдЯ" рд╕рдлрд╛рдИрдХреЛ рд╕рдорд╕реНрдпрд╛ рд░ werf рдорд╛ рдпрд╕рдХреЛ рд╕рдорд╛рдзрд╛рди

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

рдкрд░рд┐рдЪрдп

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

  1. рдЫрд╡рд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛рдорд╛ рдЯреНрдпрд╛рдЧрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  2. рдХреБрдиреИ рддрд░рд┐рдХрд╛рдорд╛ рдЫрд╡рд┐рд╣рд░реВ рд╕рдлрд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред


рдкрд╣рд┐рд▓реЛ рд╕реАрдорд╛ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рд╕рд╛рдирд╛ рдЯреЛрд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЫред рдпрджрд┐ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд╕рдБрдЧ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдерд╛рдпреА рдЯреНрдпрд╛рдЧрд╣рд░реВ рдЫрдиреН (latest, main, test, boris рдЖрджрд┐), рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдЖрдХрд╛рд░рдорд╛ рдлреБрд▓реНрдиреЗ рдЫреИрди рд░ рд▓рд╛рдореЛ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕рдлрд╛ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╕реЛрдЪреНрдиреБ рдкрд░реНрджреИрдиред рдЖрдЦрд┐рд░, рд╕рдмреИ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рддрд╕реНрдмрд┐рд░рд╣рд░реВ рдореЗрдЯрд╛рдЗрдиреНрдЫ, рд░ рддреНрдпрд╣рд╛рдБ рд╕рдлрд╛рдИрдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рдХрд╛рдо рдмрд╛рдБрдХреА рдЫреИрди (рд╕рдмреИ рдХреБрд░рд╛ рдирд┐рдпрдорд┐рдд рдлреЛрд╣реЛрд░ рд╕рдВрдХрд▓рдирдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдЧрд░рд┐рдиреНрдЫ)ред

рдпрджреНрдпрдкрд┐, рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдзреЗрд░реИ рд╣рджрд╕рдореНрдо рд╕реАрдорд┐рдд рдЧрд░реНрджрдЫ рд░ рдЖрдзреБрдирд┐рдХ CI/CD рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рд╡рд┐рд░рд▓реИ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫред рд╡рд┐рдХрд╛рд╕рдХреЛ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рдерд┐рдпреЛ рд╕реНрд╡рдЪрд╛рд▓рди, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди, рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрди рд░ рдирдпрд╛рдБ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореНрд░рд╛ рд╕рдмреИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рд╕рдБрдЧ рд╕реАрдЖрдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдиреНрдЫред рдпрд╕рдорд╛, рдЫрд╡рд┐рд▓рд╛рдИ рднреЗрд▓рд╛ рдЧрд░рд┐рдиреНрдЫ, рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдиреНрдЫ, рдбрд┐рдмрдЧ рдЧрд░реНрди рд░ рдмрд╛рдБрдХреА рдЬрд╛рдБрдЪрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рднрд┐рдиреНрди Kubernetes рд╕рд░реНрдХрд┐рдЯрд╣рд░реВрдорд╛ рд░реЛрд▓ рдЖрдЙрдЯ рдЧрд░рд┐рдиреНрдЫ, рд░ рдпрджрд┐ рд╕рдмреИ рдареАрдХ рдЫ рднрдиреЗ, рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЕрдиреНрддрд┐рдо рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдорд╛ рдкреБрдЧреНрдЫрдиреНред рд░ рдпреЛ рдЕрдм рд░рдХреЗрдЯ рд╡рд┐рдЬреНрдЮрд╛рди рд╣реЛрдЗрди, рддрд░ рдзреЗрд░реИрдХреЛ рд▓рд╛рдЧрд┐ рджреИрдирд┐рдХ рдШрдЯрдирд╛ рд╣реЛ - рд╕рдореНрднрд╡рддрдГ рддрдкрд╛рдЗрдБрдХреЛ рд▓рд╛рдЧрд┐, рдХрд┐рдирдХрд┐ рддрдкрд╛рдЗрдБ рдпреЛ рд▓реЗрдЦ рдкрдвреНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫред

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

рддрд░ рддрдкрд╛рдИрдВ рдХрд╕рд░реА рдПрдХ рдЫрд╡рд┐ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рдЫ рдХрд┐ рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди?

рдЫрд╡рд┐рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдкрджрдгреНрдб

рдзреЗрд░реИ рдЬрд╕реЛ рдХреЗрд╕рд╣рд░реВрдорд╛, рдореБрдЦреНрдп рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рд╣реБрдиреЗрдЫрдиреН:

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

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

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

4. рдЪреМрдереЛ - рдЫрд╡рд┐рд╣рд░реВ рд╣рд╛рдореНрд░реЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реВрдк, рдЕрд░реНрдерд╛рддреН рдЕрдиреНрддрд┐рдо рдЙрддреНрдкрд╛рджрди рд╣реЛ: v1.0.0, 20.04.01/XNUMX/XNUMX, sierra, рдЖрджрд┐ред

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

рдпреЛрдЧреНрдпрддрд╛ рд░ рдЕрд╡рд╕реНрдерд┐рдд рд╕рдорд╛рдзрд╛рдирд╣рд░реВ

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

* рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред рд╣рд╛рдореАрд▓реЗ рдирд┐рдореНрди рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдХреЛ рд╕рдореНрднрд╛рд╡рдирд╛рд╣рд░реВ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдпреМрдВ: Azure CR, Docker Hub, ECR, GCR, GitHub рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ, GitLab рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА, рд╣рд╛рд░реНрдмрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА, JFrog рдЖрд░реНрдЯрд┐рдлреНрдпрд╛рдХреНрдЯреНрд░реА, Quay.io - рд╕реЗрдкреНрдЯреЗрдореНрдмрд░ реирежреиреж рд╕рдореНрдоред

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

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

рдкрд╣рд┐рд▓реЛ рджреБрдИ рдорд╛рдкрджрдгреНрдбрдХреЛ рдЕрд╡рд╕реНрдерд╛ рд╕рдорд╛рди рдЫ: рддрд┐рдиреАрд╣рд░реВ рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реАрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирдЧрд░реА рд╕рдиреНрддреБрд╖реНрдЯ рд╣реБрди рд╕рдХреНрджреИрдирдиреН - рдЬрд╣рд╛рдБ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ (рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕)ред

Git рдорд╛ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдХреЛ рдЪрд┐рддреНрд░рдг

рдорд╛рдиреМрдВ рдХрд┐ рддрдкрд╛рдЗрдБ Git рдорд╛ рдпрд╕реНрддреЛ рдХреЗрд╣рд┐ рдХрд╛рдо рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ:

рдХрдиреНрдЯреЗрдирд░ рдЫрд╡рд┐рд╣рд░реВрдХреЛ "рд╕реНрдорд╛рд░реНрдЯ" рд╕рдлрд╛рдИрдХреЛ рд╕рдорд╕реНрдпрд╛ рд░ werf рдорд╛ рдпрд╕рдХреЛ рд╕рдорд╛рдзрд╛рди

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

рдХреЗ рд╣реБрдиреНрдЫ рдпрджрд┐ рдХреНрд▓реАрдирдЕрдк рдиреАрддрд┐рд╣рд░реВрд▓реЗ рдЫрд╡рд┐рд╣рд░реВрд▓рд╛рдИ рдорд╛рддреНрд░ рд░рд╛рдЦреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рдореЗрдЯрд┐рдиреЗ рдЫреИрди) рджрд┐рдЗрдПрдХреЛ рдЯреНрдпрд╛рдЧ рдирд╛рдорд╣рд░реВ рджреНрд╡рд╛рд░рд╛?

рдХрдиреНрдЯреЗрдирд░ рдЫрд╡рд┐рд╣рд░реВрдХреЛ "рд╕реНрдорд╛рд░реНрдЯ" рд╕рдлрд╛рдИрдХреЛ рд╕рдорд╕реНрдпрд╛ рд░ werf рдорд╛ рдпрд╕рдХреЛ рд╕рдорд╛рдзрд╛рди

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдпрд╕реНрддреЛ рдкрд░рд┐рджреГрд╢реНрдпрд▓реЗ рдХрд╕реИрд▓рд╛рдИ рдЦреБрд╢реА рдмрдирд╛рдЙрдБрджреИрдиред

рдпрджрд┐ рдиреАрддрд┐рд╣рд░реВрд▓реЗ рдЫрд╡рд┐рд╣рд░реВ рдореЗрдЯрд╛рдЙрди рдирджрд┐рдиреЗ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рднрдиреЗ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫ? рджрд┐рдЗрдПрдХреЛ рд╕рдордп рдЕрдиреНрддрд░рд╛рд▓ / рдЕрдиреНрддрд┐рдо рдХрдорд┐рдЯрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдЕрдиреБрд╕рд╛рд░?

рдХрдиреНрдЯреЗрдирд░ рдЫрд╡рд┐рд╣рд░реВрдХреЛ "рд╕реНрдорд╛рд░реНрдЯ" рд╕рдлрд╛рдИрдХреЛ рд╕рдорд╕реНрдпрд╛ рд░ werf рдорд╛ рдпрд╕рдХреЛ рд╕рдорд╛рдзрд╛рди

рдкрд░рд┐рдгрд╛рдо рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рднрдПрдХреЛ рдЫ, рддрд░ рдЕрдЭреИ рдкрдирд┐ рдЖрджрд░реНрд╢ рджреЗрдЦрд┐ рдЯрд╛рдврд╛ рдЫред рдЬреЗ рднрдП рдкрдирд┐, рд╣рд╛рдореАрд╕рдБрдЧ рдЕрдЭреИ рдкрдирд┐ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓рд╛рдИ рдмрдЧрд╣рд░реВ рдбрд┐рдмрдЧ рдЧрд░реНрди рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рдЫрд╡рд┐рд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫ (рд╡рд╛ K8s рдорд╛ рддреИрдирд╛рде рдЧрд░рд┐рдПрдХреЛ рдЫ)...

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

рдЬреЗ рд╣реЛрд╕реН, рд╣рд╛рдореА рдПрдХ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬреНрджреИ рдерд┐рдпреМрдВ рдЬрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд┐рднрд┐рдиреНрди рдЯреЛрд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЫрд╡рд┐ рд╕рдлрд╛рдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрдиреЗрдЫред

рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдЫрд╡рд┐ рд╕рдлрд╛рдИрдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореНрд░реЛ рдорд╛рд░реНрдЧ

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

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

* рдпрджреНрдпрдкрд┐ рджрд░реНрддрд╛рд╣рд░реВ рдЖрдлреИрдВ рдлрд░рдХ рд╣реБрди рд╕рдХреНрдЫрдиреН (рдбрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА, GitLab рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА, рд╣рд╛рд░реНрдмрд░, рдЖрджрд┐), рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдЫрдиреНред рд╣рд╛рдореНрд░реЛ рдорд╛рдорд▓рд╛ рдорд╛ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╕рдорд╛рдзрд╛рди рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдорд╛ рдирд┐рд░реНрднрд░ рдЫреИрди, рдХрд┐рдирднрдиреЗ рдЖрдлреИрдВ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрд╣рд░реВ рдмрд╛рд╣рд┐рд░ рдЪрд▓реНрдЫ рд░ рд╕рдмреИрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫред

рдпрджреНрдпрдкрд┐ рд╣рд╛рдореАрд▓реЗ werf рд▓рд╛рдИ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИрдЫреМрдВ, рд╣рд╛рдореА рдЖрд╢рд╛ рдЧрд░реНрдЫреМрдВ рдХрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВ рд╕рдорд╛рди рдХрдард┐рдирд╛рдЗрд╣рд░реВрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреЗ рдЕрдиреНрдп рдЯреЛрд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреЗрдЫред

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

рдпреЛ рдорд╛рдореВрд▓реА рд╕рдорд╛рдзрд╛рдирд▓реЗ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ (рдорд╛рдкрджрдгреНрдб рдирдореНрдмрд░ 1) рд▓рд╛рдИ рд╣рд▓ рдЧрд░реНрдпреЛ, рддрд░ рд╕рдлрд╛рдИ рд╕рдВрдпрдиреНрддреНрд░ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рд╣рд╛рдореНрд░реЛ рдпрд╛рддреНрд░рд╛рдХреЛ рд╕реБрд░реБрд╡рд╛рдд рдорд╛рддреНрд░ рдерд┐рдпреЛред рдЕрд░реНрдХреЛ - рд░ рдзреЗрд░реИ рд░реЛрдЪрдХ - рдХрджрдо рдирд┐рд░реНрдгрдп рдерд┐рдпреЛ Git рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЫрд╡рд┐рд╣рд░реВ рд╕рдореНрдмрджреНрдз.

рдЯреНрдпрд╛рдЧрд┐рдЩ рдпреЛрдЬрдирд╛рд╣рд░реВ

рд╕реБрд░реБ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд░реЛрдЬреНрдпреМрдВ рдЬрд╕рдорд╛ рдЕрдиреНрддрд┐рдо рдЫрд╡рд┐рд▓реЗ рд╕рдлрд╛рдИрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рднрдгреНрдбрд╛рд░ рдЧрд░реНрдиреБрдкрд░реНрдЫ, рд░ рдЯреНрдпрд╛рдЧрд┐рдЩ рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНтАНрдпреМрдВред рдЫрд╡рд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрджрд╛, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреНрдпрд╛рдЧрд┐рдЩ рд╡рд┐рдХрд▓реНрдк рдЪрдпрди рдЧрд░реНрдпреЛ (git-branch, git-commit рд╡рд╛ git-tag) рд░ рд╕рдореНрдмрдиреНрдзрд┐рдд рдорд╛рди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдпреЛред CI рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛, рдпреА рдорд╛рдирд╣рд░реВ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХрд╛ рдерд┐рдПред рд╡рд╛рд╕реНрддрдмрдорд╛ рдЕрдиреНрддрд┐рдо рдЫрд╡рд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ Git рдЖрджрд┐рдо рд╕рдВрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдерд┐рдпреЛ, рд▓реЗрдмрд▓ рдорд╛ рд╕рдлрд╛рдИ рдХреЛ рд▓рд╛рдЧреА рдЖрд╡рд╢реНрдпрдХ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдгред

рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рдиреАрддрд┐рд╣рд░реВрдХреЛ рд╕реЗрдЯрдорд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдпреЛ рдЬрд╕рд▓реЗ Git рд▓рд╛рдИ рд╕рддреНрдпрдХреЛ рдПрдХрд▓ рд╕реНрд░реЛрддрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдпреЛ:

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

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

рдирдпрд╛рдБ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо

рдХрд┐рди? рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреНрдпрд╛рдЧрд┐рдЩрдХреЛ рд╕рд╛рде, рдкреНрд░рддреНрдпреЗрдХ рдЯреНрдпрд╛рдЧрд▓реЗ Git рдорд╛ рдзреЗрд░реИ рдХрдорд┐рдЯрд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрди рд╕рдХреНрдЫред рддрд╕реНрдмрд┐рд░рд╣рд░реВ рд╕рдлрд╛ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВ рдЕрдм рдорд╛рдиреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди рдорд╛рддреНрд░ рдХрдорд┐рдЯрдмрд╛рдЯ рдЬрд╣рд╛рдБ рдирдпрд╛рдБ рдЯреНрдпрд╛рдЧ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рдердкрд┐рдПрдХреЛ рдерд┐рдпреЛред

рдирдпрд╛рдБ рд╕рдлрд╛рдИ рдПрд▓реНрдЧреЛрд░рд┐рджрдордХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рдЯреНрдпрд╛рдЧрд┐рдЩ рдпреЛрдЬрдирд╛рд╣рд░реВ рд░ рдирд┐рд░реНрдорд╛рдгрдмрд╛рдЯ рдЯрд╛рдврд╛ рдЬрд╛рдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдпреЛ рдореЗрдЯрд╛-рдЫрд╡рд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЬрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рдПрдЙрдЯрд╛ рдЧреБрдЪреНрдЫрд╛ рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫ:

  • рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдЬрд╕рдорд╛ рдкреНрд░рдХрд╛рд╢рди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ (рдпрд╕рд▓реЗ рдлрд░рдХ рдкрд╛рд░реНрджреИрди рдХрд┐ рдЫрд╡рд┐ рдердкрд┐рдпреЛ, рдкрд░рд┐рд╡рд░реНрддрди рднрдпреЛ рд╡рд╛ рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рдЙрд╕реНрддреИ рд░рд╣реНрдпреЛ);
  • рд░ рднреЗрд▓рд╛ рдЧрд░рд┐рдПрдХреЛ рдЫрд╡рд┐рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╣рд╛рдореНрд░реЛ рдЖрдиреНрддрд░рд┐рдХ рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛ред

рдЕрд░реНрдХреЛ рд╢рдмреНрджрдорд╛, рдпреЛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ Git рдорд╛ рдХрдорд┐рдЯрд╣рд░реВрд╕рдБрдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЯреНрдпрд╛рдЧрд╣рд░реВ рд▓рд┐рдЩреНрдХ рдЧрд░реНрджреИ.

рдЕрдиреНрддрд┐рдо рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд░ рд╕рд╛рдорд╛рдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо

рд╕рдлрд╛рдИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрджрд╛, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рд╣рд╛рд▓рдХрд╛ рдЫрд╡рд┐рд╣рд░реВ рдЪрдпрди рдЧрд░реНрдиреЗ рдиреАрддрд┐рд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рд░рд╛рдЦреНрдЫрдиреНред рдкреНрд░рддреНрдпреЗрдХ рдпрд╕реНрддреЛ рдиреАрддрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ:

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

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдиреАрддрд┐ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдпрд╕реНрддреЛ рджреЗрдЦрд┐рди рдерд╛рд▓реНрдпреЛ:

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

рдпреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд▓реЗ рдирд┐рдореНрди рдирд┐рдпрдорд╣рд░реВрдХреЛ рдкрд╛рд▓рдирд╛ рдЧрд░реНрдиреЗ рддреАрдирд╡рдЯрд╛ рдиреАрддрд┐рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ:

  1. рдЕрдиреНрддрд┐рдо 10 Git рдЯреНрдпрд╛рдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЫрд╡рд┐ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдЯреНрдпрд╛рдЧ рд╕рд┐рд░реНрдЬрдирд╛ рдорд┐рддрд┐ рджреНрд╡рд╛рд░рд╛)ред
  2. рдкрдЫрд┐рд▓реНрд▓реЛ рд╣рдкреНрддрд╛рдорд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд 2 рднрдиреНрджрд╛ рдмрдвреА рддрд╕реНрдмрд┐рд░рд╣рд░реВ рдЧрдд рд╣рдкреНрддрд╛рдорд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рднрдПрдХрд╛ 10 рдереНрд░реЗрдбрд╣рд░реВ рднрдиреНрджрд╛ рдмрдвреАрдХреЛ рд▓рд╛рдЧрд┐ рдмрдЪрдд рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред
  3. рд╢рд╛рдЦрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ 10 рдЫрд╡рд┐рд╣рд░реВ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН main, staging ╨╕ production.

рдЕрдиреНрддрд┐рдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд┐рдореНрди рдЪрд░рдгрд╣рд░реВрдорд╛ рдЙрдмрд▓рд┐рдиреНрдЫ:

  • рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдмрд╛рдЯ рдкреНрд░рдХрдЯрд╣рд░реВ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИред
  • Kubernetes рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдЫрд╡рд┐рд╣рд░реВ рдмрд╛рд╣реЗрдХ, рдХрд┐рдирднрдиреЗ рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ K8s API рдорд╛ рдорддрджрд╛рди рдЧрд░реЗрд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреВрд░реНрд╡-рдЪрдпрди рдЧрд░рд┐рд╕рдХреЗрдХрд╛ рдЫреМрдВред
  • Git рдЗрддрд┐рд╣рд╛рд╕ рд╕реНрдХреНрдпрд╛рди рдЧрд░реНрджреИ рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдиреАрддрд┐рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫрд╡рд┐рд╣рд░реВ рдмрд╛рд╣реЗрдХред
  • рдмрд╛рдБрдХреА рдЫрд╡рд┐рд╣рд░реВ рд╣рдЯрд╛рдЙрдБрджреИред

рд╣рд╛рдореНрд░реЛ рджреГрд╖реНрдЯрд╛рдиреНрддрдорд╛ рдлрд░реНрдХреЗрд░, рдпреЛ werf рд╕рдБрдЧ рдХреЗ рд╣реБрдиреНрдЫ:

рдХрдиреНрдЯреЗрдирд░ рдЫрд╡рд┐рд╣рд░реВрдХреЛ "рд╕реНрдорд╛рд░реНрдЯ" рд╕рдлрд╛рдИрдХреЛ рд╕рдорд╕реНрдпрд╛ рд░ werf рдорд╛ рдпрд╕рдХреЛ рд╕рдорд╛рдзрд╛рди

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

рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛

  • рдврд┐рд▓реЛ рд╡рд╛ рдкрдЫрд┐, рдзреЗрд░реИ рдЯреЛрд▓реАрд╣рд░реВрд▓реЗ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдУрднрд░рдлреНрд▓реЛрдХреЛ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдордирд╛ рдЧрд░реНрдЫрдиреНред
  • рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдЦреЛрдЬреНрджрд╛, рдЫрд╡рд┐рдХреЛ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдкрджрдгреНрдб рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдкрд╣рд┐рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдЫред
  • рд▓реЛрдХрдкреНрд░рд┐рдп рдХрдиреНрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗрд╡рд╛рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ "рдмрд╛рд╣рд┐рд░рдХреЛ рд╕рдВрд╕рд╛рд░" рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИрди: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдЫрд╡рд┐рд╣рд░реВ рд░ рдЯреЛрд▓реАрдХреЛ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВрд▓рд╛рдИ рдзреЗрд░реИ рд╕рд░рд▓ рд╕рдлрд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • рд▓рдЪрд┐рд▓реЛ рд░ рдХреБрд╢рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордорд╛ рд╕реАрдЖрдИ/рд╕реАрдбреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдХреЛ рдмреБрдЭрд╛рдЗ рд╣реБрдиреБрдкрд░реНрджрдЫ рд░ рдбрдХрд░ рдЫрд╡рд┐ рдбрд╛рдЯрд╛рд╕рдБрдЧ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНрджреИрдиред

PS

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

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

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