рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛рдВрдЪреА "рд╕реНрдорд╛рд░реНрдЯ" рд╕рд╛рдлрд╕рдлрд╛рдИрдЪреА рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ werf рдордзреНрдпреЗ рддреНрдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг

рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛рдВрдЪреА "рд╕реНрдорд╛рд░реНрдЯ" рд╕рд╛рдлрд╕рдлрд╛рдИрдЪреА рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ werf рдордзреНрдпреЗ рддреНрдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг

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

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

рдХрдВрдЯреЗрдирд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреАрд▓ рдкреНрд░рддрд┐рдорд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдЭрдкрд╛рдЯреНрдпрд╛рдиреЗ рд╡рд╛рдвреВ рд╢рдХрддреЗ, рдЕрдзрд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ рдЬрд╛рдЧрд╛ рдШреЗрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ рд╕реНрдЯреЛрд░реЗрдЬ рдЦрд░реНрдЪрд╛рдд рд▓рдХреНрд╖рдгреАрдп рд╡рд╛рдв рд╣реЛрддреЗ. рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреНрдпреЗ рд╡реНрдпрд╛рдкрд▓реЗрд▓реНрдпрд╛ рдЬрд╛рдЧреЗрдЪреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╡рд╛рдв рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рд░рд╛рдЦрдгреНрдпрд╛рд╕рд╛рдареА, рд╣реЗ рдкреНрд░рдерд╛ рдЖрд╣реЗ:

  1. рдкреНрд░рддрд┐рдорд╛рдВрд╕рд╛рдареА рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпреЗрдиреЗ рдЯреЕрдЧ рд╡рд╛рдкрд░рд╛;
  2. рдХрд╕реЗ рддрд░реА рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдл рдХрд░рд╛.


рдкрд╣рд┐рд▓реА рдорд░реНрдпрд╛рджрд╛ рдХрдзреАрдХрдзреА рд▓рд╣рд╛рди рд╕рдВрдШрд╛рдВрд╕рд╛рдареА рд╡реИрдз рдЕрд╕рддреЗ. рд╡рд┐рдХрд╕рдХрд╛рдВрдХрдбреЗ рдкреБрд░реЗрд╕реЗ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рдЯреЕрдЧ рдЕрд╕рд▓реНрдпрд╛рд╕ (latest, main, test, boris рдЗ.), рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рдЖрдХрд╛рд░рд╛рдд рдлреБрдЧрдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рддреА рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдЕрдЬрд┐рдмрд╛рдд рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА. рддрдерд╛рдкрд┐, рд╕рд░реНрд╡ рдЕрд╕рдВрдмрджреНрдз рдкреНрд░рддрд┐рдорд╛ рдкреБрд╕реВрди рдЯрд╛рдХрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рд╕рд╛рдлрд╕рдлрд╛рдИрд╕рд╛рдареА рдХреЛрдгрддреЗрд╣реА рдХрд╛рдо рдЙрд░рд▓реЗ рдирд╛рд╣реА (рд╕рд░реНрд╡ рдХрд╛рд╣реА рдирд┐рдпрдорд┐рдд рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╛рд╣рдХрд╛рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ).

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

рджреЛрд╖ рдирд┐рд░рд╛рдХрд░рдгреЗ рдЖрдгрд┐ рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рд╕рдорд╛рдВрддрд░рдкрдгреЗ рдХреЗрд▓рд╛ рдЬрд╛рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЖрдгрд┐ рд░рд┐рд▓реАрдЭ рджрд┐рд╡рд╕рд╛рддреВрди рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпреЗрдордзреНрдпреЗ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдХрдорд┐рдЯ рдЕрд╕рддрд╛рдд, рдпрд╛рдЪрд╛ рдЕрд░реНрде - рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреНрдпреЗ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдкреНрд░рддрд┐рдорд╛. рдкрд░рд┐рдгрд╛рдореА, рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪреА рдкреНрд░рднрд╛рд╡реА рд╕рд╛рдлрд╕рдлрд╛рдИ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдореБрджреНрджрд╛, рдореНрд╣рдгрдЬреЗ. рдЕрд╕рдВрдмрджреНрдз рдкреНрд░рддрд┐рдорд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ.

рдкрд░рдВрддреБ рдкреНрд░рддрд┐рдорд╛ рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рд╣реЗ рдХрд╕реЗ рдард░рд╡рд╛рдпрдЪреЗ?

рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддреЗрд╕рд╛рдареА рдирд┐рдХрд╖

рдмрд╣реБрд╕рдВрдЦреНрдп рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдореБрдЦреНрдп рдирд┐рдХрд╖ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЕрд╕рддреАрд▓:

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

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

3. рддрд┐рд╕рд░рд╛ - рд╡рд┐рдХрд╛рд╕рдХрд╛рдЪреНрдпрд╛ рдЧрд░рдЬрд╛: рд╕рд░реНрд╡ рд╕реНрдХрд┐рди рдЬреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗрдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рдЖрдкрдг PR рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдХрдорд┐рдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдорд╛ рд╕реЛрдбрдгреНрдпрд╛рдд рдЕрд░реНрде рдЖрд╣реЗ рдЖрдгрд┐ рдореНрд╣рдгрд╛, рдорд╛рдЧреАрд▓ рдХрдорд┐рдЯ: рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡рд┐рдХрд╕рдХ рдХреЛрдгрддреНрдпрд╛рд╣реА рдХрд╛рд░реНрдпрд╛рд╡рд░ рддреНрд╡рд░рд┐рдд рдкрд░рдд рдпреЗрдК рд╢рдХрддреЛ рдЖрдгрд┐ рдирд╡реАрдирддрдо рдмрджрд▓рд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддреЛ.

4. рдЪреМрдерд╛ - рдкреНрд░рддрд┐рдорд╛ рдЖрдордЪреНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╢реА рдЬреБрд│рд╡рд╛, рдореНрд╣рдгрдЬреЗ рдЕрдВрддрд┐рдо рдЙрддреНрдкрд╛рджрди рдЖрд╣реЗрдд: v1.0.0, 20.04.01, sierra, рдЗ.

NB: рдпреЗрдереЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдирд┐рдХрд╖ рд╡рд┐рд╡рд┐рдз рдХрдВрдкрдиреНрдпрд╛рдВрдордзреАрд▓ рдбрдЭрдирднрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдпрд╕рдВрдШрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗрдд. рддрдерд╛рдкрд┐, рдЕрд░реНрдерд╛рддрдЪ, рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпреЗрддреАрд▓ рддрдкрд╢реАрд▓ рдЖрдгрд┐ рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА), рд╣реЗ рдирд┐рдХрд╖ рднрд┐рдиреНрди рдЕрд╕реВ рд╢рдХрддрд╛рдд.

рдкрд╛рддреНрд░рддрд╛ рдЖрдгрд┐ рд╡рд┐рджреНрдпрдорд╛рди рдЙрдкрд╛рдп

рдХрдВрдЯреЗрдирд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрд╕рд╣ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реЗрд╡рд╛, рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рддреНрдпрд╛рдВрдЪреА рд╕реНрд╡рддрдГрдЪреА рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рдЪреА рдзреЛрд░рдгреЗ рдСрдлрд░ рдХрд░рддрд╛рдд: рддреНрдпрд╛рдордзреНрдпреЗ рдЖрдкрдг рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреВрди рдЯреЕрдЧ рдХрд╛рдврд▓реЗрд▓реНрдпрд╛ рдЕрдЯреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реВ рд╢рдХрддрд╛. рддрдерд╛рдкрд┐, рдпрд╛ рдЕрдЯреА рдирд╛рд╡реЗ, рдирд┐рд░реНрдорд┐рддреА рд╡реЗрд│ рдЖрдгрд┐ рдЯреЕрдЧрдЪреА рд╕рдВрдЦреНрдпрд╛* рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рджреНрд╡рд╛рд░реЗ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗрдд*.

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

рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪрд╛ рдЕрд╕рд╛ рд╕рдВрдЪ рдЪреМрдерд╛ рдирд┐рдХрд╖ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕рд╛ рдЖрд╣реЗ - рдореНрд╣рдгрдЬреЗ, рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдорд╛ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА. рддрдерд╛рдкрд┐, рдЗрддрд░ рд╕рд░реНрд╡ рдирд┐рдХрд╖рд╛рдВрд╕рд╛рдареА, рдЕрдкреЗрдХреНрд╖рд╛ рдЖрдгрд┐ рдЖрд░реНрдерд┐рдХ рдХреНрд╖рдорддрд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рддрдбрдЬреЛрдб рдЙрдкрд╛рдп (рдПрдХ рдХрдареЛрд░ рдХрд┐рдВрд╡рд╛, рдЙрд▓рдЯ, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдзреЛрд░рдг) рдирд┐рд╡рдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддрд┐рд╕рд░рд╛ рдирд┐рдХрд╖ - рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреНрдпрд╛ рдЧрд░рдЬрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд - рд╕рдВрдШрд╛рдВрдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд░реВрди рд╕реЛрдбрд╡рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ: рдкреНрд░рддрд┐рдорд╛рдВрдЪреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдордХрд░рдг, рд╡рд┐рд╢реЗрд╖ рдкрд░рд╡рд╛рдирдЧреА рдпрд╛рджреНрдпрд╛ рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд рдХрд░рд╛рд░ рд░рд╛рдЦрдгреЗ. рдкрд░рдВрддреБ рд╢реЗрд╡рдЯреА рддреЗ рдЕрджреНрдпрд╛рдк рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдгрд┐ рдЬрд░ рддрдпрд╛рд░ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдЪреА рд╢рдХреНрдпрддрд╛ рдкреБрд░реЗрд╢реА рдирд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрд╡рддрдГрдЪреЗ рдХрд╛рд╣реАрддрд░реА рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.

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

Git рд╡рд░реНрдХрдлреНрд▓реЛ рдЪрд┐рддреНрд░рдг

рд╕рдордЬрд╛ рддреБрдореНрд╣реА Git рдордзреНрдпреЗ рдЕрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛:

рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛рдВрдЪреА "рд╕реНрдорд╛рд░реНрдЯ" рд╕рд╛рдлрд╕рдлрд╛рдИрдЪреА рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ werf рдордзреНрдпреЗ рддреНрдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг

рдЖрдХреГрддреАрдордзреНрдпреЗ рдбреЛрдХреЗ рдЕрд╕рд▓реЗрд▓реЗ рдЪрд┐рдиреНрд╣ рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рддреЗ рдЬреЗ рд╕рдзреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА (рдЕрдВрддрд┐рдо рд╡рд╛рдкрд░рдХрд░реНрддреЗ, рдкрд░реАрдХреНрд╖рдХ, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ, рдЗ.) рдХреБрдмрд░рдиреЗрдЯрдордзреНрдпреЗ рдЙрдкрдпреЛрдЬрд┐рдд рдЖрд╣реЗрдд рдХрд┐рдВрд╡рд╛ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдиреА рдбреАрдмрдЧрд┐рдВрдЧ рдЖрдгрд┐ рддрддреНрд╕рдо рд╣реЗрддреВрдВрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЖрд╣реЗрдд.

рдХреНрд▓реАрдирдЕрдк рдзреЛрд░рдгреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдЗрдореЗрдЬ рдареЗрд╡рдгреНрдпрд╛рдЪреА (рд╣рдЯрд╡реВ рдирдХрд╛) рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реНрдпрд╛рд╕ рдХрд╛рдп рд╣реЛрдИрд▓ рджрд┐рд▓реЗрд▓реНрдпрд╛ рдЯреЕрдЧ рдирд╛рд╡рд╛рдВрдиреБрд╕рд╛рд░?

рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛рдВрдЪреА "рд╕реНрдорд╛рд░реНрдЯ" рд╕рд╛рдлрд╕рдлрд╛рдИрдЪреА рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ werf рдордзреНрдпреЗ рддреНрдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг

рд╕рд╛рд╣рдЬрд┐рдХрдЪ, рдЕрд╢реА рдкрд░рд┐рд╕реНрдерд┐рддреА рдХреЛрдгрд╛рд▓рд╛рд╣реА рдЖрд╡рдбрдгрд╛рд░ рдирд╛рд╣реА.

рдзреЛрд░рдгреЗ рдкреНрд░рддрд┐рдорд╛ рд╣рдЯрд╡рд┐рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрдд тАЛтАЛрдирд╛рд╣реАрдд рддрд░ рдХрд╛рдп рдмрджрд▓реЗрд▓ рджрд┐рд▓реЗрд▓реНрдпрд╛ рд╡реЗрд│реЗрдЪреНрдпрд╛ рдЕрдВрддрд░рд╛рдиреЗ / рдЕрд▓реАрдХрдбреАрд▓ рдХрдорд┐рдЯрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреБрд╕рд╛рд░?

рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛рдВрдЪреА "рд╕реНрдорд╛рд░реНрдЯ" рд╕рд╛рдлрд╕рдлрд╛рдИрдЪреА рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ werf рдордзреНрдпреЗ рддреНрдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг

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

рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдмрд╛рдЬрд╛рд░рд╛рдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рдХрд╛рд░реНрдпреЗ рд╕рд╛рдлрд╕рдлрд╛рдИрдордзреНрдпреЗ рдкреБрд░реЗрд╢реА рд▓рд╡рдЪрд┐рдХрддрд╛ рджреЗрдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рдпрд╛рдЪреЗ рдореБрдЦреНрдп рдХрд╛рд░рдг рдЖрд╣реЗ рдмрд╛рд╣реЗрд░реАрд▓ рдЬрдЧрд╛рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛ рдпреЗрдд рдирд╛рд╣реА. рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдЬреНрдпрд╛ рд╕рдВрдШрд╛рдВрдирд╛ рдпрд╛ рд▓рд╡рдЪрд┐рдХрддреЗрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ рддреНрдпрд╛рдВрдирд╛ рдбреЙрдХрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА API (рдХрд┐рдВрд╡рд╛ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдореВрд│ API) рд╡рд╛рдкрд░реВрди "рдмрд╛рд╣реЗрд░реАрд▓" рдкреНрд░рддрд┐рдорд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрд▓реЗ рдЬрд╛рддреЗ.

рддрдерд╛рдкрд┐, рдЖрдореНрд╣реА рдПрдХ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЙрдкрд╛рдп рд╢реЛрдзрдд рд╣реЛрддреЛ рдЬреЛ рднрд┐рдиреНрди рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╡рд╛рдкрд░реВрди рднрд┐рдиреНрди рд╕рдВрдШрд╛рдВрд╕рд╛рдареА рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдл рдХрд░рдгреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░реЗрд▓тАж

рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рдЗрдореЗрдЬ рдХреНрд▓реАрдирдЕрдкрдЪрд╛ рдЖрдордЪрд╛ рдорд╛рд░реНрдЧ

рдЕрд╢реА рдЧрд░рдЬ рдХреБрдареВрди рдпреЗрддреЗ? рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдЖрдореНрд╣реА рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪрд╛ рдПрдХ рд╡реЗрдЧрд│рд╛ рдЧрдЯ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдПрдХ рд╕рдВрдШ рдЖрд╣реЗ рдЬреЛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкреИрдХреА рдЕрдиреЗрдХрд╛рдВрдирд╛ рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╕реЗрд╡рд╛ рджреЗрддреЛ, CI/CD рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рд╕рд░реНрд╡рд╕рдорд╛рд╡реЗрд╢рдХрдкрдгреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреЛ. рдЖрдгрд┐ рдпрд╛рд╕рд╛рдареА рдореБрдЦреНрдп рддрд╛рдВрддреНрд░рд┐рдХ рд╕рд╛рдзрди рдореНрд╣рдгрдЬреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдпреБрдЯрд┐рд▓рд┐рдЯреА werf. рддреНрдпрд╛рдЪреЗ рд╡реИрд╢рд┐рд╖реНрдареНрдп рдЕрд╕реЗ рдЖрд╣реЗ рдХреА рддреЗ рдПрдХрдЪ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╕рд░реНрд╡ рдЯрдкреНрдкреНрдпрд╛рдВрд╡рд░ рд╕рддрдд рд╡рд┐рддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╣ рдЖрд╣реЗ: рдЕрд╕реЗрдВрдмреНрд▓реАрдкрд╛рд╕реВрди рддреИрдирд╛рддреАрдкрд░реНрдпрдВрдд.

рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА* рдордзреНрдпреЗ рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреЗ (рддреНрдпрд╛ рддрдпрд╛рд░ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рд▓рдЧреЗрдЪ) рд╣реЗ рдЕрд╢рд╛ рдЙрдкрдпреБрдХреНрддрддреЗрдЪреЗ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░реНрдп рдЖрд╣реЗ. рдЖрдгрд┐ рдкреНрд░рддрд┐рдорд╛ рддреЗрдереЗ рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╛рдареА рдареЗрд╡рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЕрд╕рд▓реНрдпрд╛рдиреЗ - рдЬрд░ рддреБрдордЪрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдЕрдорд░реНрдпрд╛рджрд┐рдд рдирд╕реЗрд▓ - рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдирдВрддрд░рдЪреНрдпрд╛ рд╕рд╛рдлрд╕рдлрд╛рдИрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рджрд┐рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдирд┐рдХрд╖рд╛рдВрдЪреА рдкреВрд░реНрддрддрд╛ рдХрд░реВрди рдЖрдореНрд╣реА рдпрд╛рдордзреНрдпреЗ рдХрд╕реЗ рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реЛ, рдпрд╛рд╡рд░ рдкреБрдвреЗ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЬрд╛рдИрд▓.

* рдЬрд░реА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реНрд╡рддрдГ рднрд┐рдиреНрди рдЕрд╕реВ рд╢рдХрддрд╛рдд (рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА, рдЧрд┐рдЯрд▓реЕрдм рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА, рд╣рд╛рд░реНрдмрд░ рдЗ.), рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрддреЛ. рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЙрдкрд╛рдп рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдирд╛рд╣реА, рдХрд╛рд░рдг рд╕реНрд╡рддрдГ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдмрд╛рд╣реЗрд░ рдЪрд╛рд▓рддреЗ рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдВрд╕рд╛рдареА рд╕рдорд╛рди рд╡рд░реНрддрди рдСрдлрд░ рдХрд░рддреЗ.

рдЖрдореНрд╣реА рдЙрджрд╛рд╣рд░рдг рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдореНрд╣рдгреВрди werf рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЛ рддрд░реА, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рджреГрд╖реНрдЯрд┐рдХреЛрди рд╕рдорд╛рди рдЕрдбрдЪрдгреАрдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рдгрд╛рд▒реНрдпрд╛ рдЗрддрд░ рд╕рдВрдШрд╛рдВрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░рддреАрд▓.

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

рдЕрд╢рд╛ рдХреНрд╖реБрд▓реНрд▓рдХ рдЙрдкрд╛рдпрд╛рдиреЗ рд╕рд░реНрд╡рд╛рдд рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ (рдирд┐рдХрд╖ # 1) рдмрдВрдж рдХреЗрд▓реА, рдкрд░рдВрддреБ рд╕рд╛рдлрд╕рдлрд╛рдИрдЪреА рдпрдВрддреНрд░рдгрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдордЪреНрдпрд╛ рдкреНрд░рд╡рд╛рд╕рд╛рдЪреА рд╣реА рдХреЗрд╡рд│ рд╕реБрд░реБрд╡рд╛рдд рд╣реЛрддреА. рдкреБрдвреАрд▓ - рдЖрдгрд┐ рдмрд░реЗрдЪ рдордиреЛрд░рдВрдЬрдХ - рдкрд╛рдКрд▓ рдирд┐рд░реНрдгрдп рд╣реЛрддрд╛ Git рдЗрддрд┐рд╣рд╛рд╕рд╛рд╢реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрд░рддрд┐рдорд╛ рд▓рд┐рдВрдХ рдХрд░рд╛.

рдЯреЕрдЧрд┐рдВрдЧ рдпреЛрдЬрдирд╛

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

рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪрд╛ рдПрдХ рднрд╛рдЧ рдореНрд╣рдгреВрди, рдзреЛрд░рдгрд╛рдВрдЪрд╛ рдПрдХ рд╕рдВрдЪ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓рд╛ рдЬреНрдпрд╛рдиреЗ Git рд▓рд╛ рд╕рддреНрдпрд╛рдЪрд╛ рдПрдХрдореЗрд╡ рд╕реНрддреНрд░реЛрдд рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА:

  • Git рдордзреАрд▓ рд╢рд╛рдЦрд╛/рдЯреЕрдЧ рд╣рдЯрд╡рддрд╛рдирд╛, рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреАрд▓ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдорд╛ рджреЗрдЦреАрд▓ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╣рдЯрд╡рд┐рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛.
  • 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛