GitOps: рдкреБрд▓ рдФрд░ рдкреБрд╢ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛

рдЯрд┐рдкреНрдкрдгреАред рдЕрдиреБрд╡рд╛рджред: рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдореБрджрд╛рдп рдореЗрдВ, GitOps рдирд╛рдордХ рдПрдХ рдкреНрд░рд╡реГрддреНрддрд┐ рд╕реНрдкрд╖реНрдЯ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рд╣реИ, рджреМрд░рд╛ KubeCon рдпреВрд░реЛрдк 2019. рдпрд╣ рд╢рдмреНрдж рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдпрд╛ рдерд╛ рдЧрдврд╝рд╛ рд╡реАрд╡рд╡рд░реНрдХреНрд╕ рдХреЗ рдкреНрд░рдореБрдЦ - рдПрд▓реЗрдХреНрд╕рд┐рд╕ рд░рд┐рдЪрд░реНрдбрд╕рди рджреНрд╡рд╛рд░рд╛ - рдФрд░ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЧрд┐рдЯ, рдЗрд╕рд▓рд┐рдП рдирд╛рдо) рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдо рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ Git рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдХреЗ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдХреЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдерд┐рдпрд╛рд╕ рдЬреЗрдЬреА рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рд░реЛрд▓рдЖрдЙрдЯ рдХреЗ рджреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

GitOps: рдкреБрд▓ рдФрд░ рдкреБрд╢ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛

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

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ::

  1. рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЗрддрд┐рд╣рд╛рд╕. рдкреВрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рддреИрдирд╛рддреА рдХреЗрд╡рд▓ рдХрдорд┐рдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддрд┐рдмрджреНрдз рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  2. рдкрд░рд┐рдЪрд┐рдд Git рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реЛрд▓рдмреИрдХ. рд╕рд░рд▓ git reset рдЖрдкрдХреЛ рддреИрдирд╛рддреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ; рдкрд┐рдЫрд▓реА рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣рдореЗрд╢рд╛ рдЙрдкрд▓рдмреНрдз рд░рд╣рддреА рд╣реИрдВред
  3. рддреИрдпрд╛рд░ рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг. рдЖрдорддреМрд░ рдкрд░, Git рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрдВрдкрдирд┐рдпрд╛рдВ рдЗрд╕рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрддреА рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ рддреИрдирд╛рддреА рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред
  4. рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдиреАрддрд┐рдпрд╛рдВ. рдЕрдзрд┐рдХрд╛рдВрд╢ Git рд╕рд┐рд╕реНрдЯрдо рдореВрд▓ рд░реВрдк рд╕реЗ рд╢рд╛рдЦрд╛-рджрд░-рд╢рд╛рдЦрд╛ рдиреАрддрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╣реА рдорд╛рд╕реНрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рдЯреАрдо рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рджрд╕реНрдп рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рдХреА рддрд░рд╣, рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЕрджреНрдпрддрдиреЛрдВ рдкрд░ рднреА рд╡рд╣реА рдиреАрддрд┐рдпрд╛рдБ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред

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

рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рддрд░реАрдХреЗ

рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдиреЗ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЗ рдФрд░ рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рд╣реИрдВ:

  1. рджреЗрд╢реА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕/рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░ рдмреБрдирд┐рдпрд╛рджреА YAML рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╣реА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╣ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ)ред рдЯрд┐рдкреНрдкрдгреАред рдЕрдиреБрд╡рд╛рджред: рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХреЛ kubectl рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ 1.14 рдХрд╛ рд╡рд┐рдореЛрдЪрди.
  2. рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ. рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдЖрдкрдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ, рдЗрдирд┐рдЯ рдХрдВрдЯреЗрдирд░, рд╕рд╛рдЗрдбрдХрд╛рд░ рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд╕реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдореНрдкреНрд▓реЗрдЯ-рдЖрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯреЗрдб YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╣реЗрд▓реНрдо рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рднрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЯрд┐рд▓рд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдШрдЯрдХ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдбреЗрдЯ рдФрд░ рд░реЛрд▓рдмреИрдХ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣реЗрд▓реНрдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдорд╛рдиреЛрдВ рдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред (рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ рд╣реЗрд▓реНрдо рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ - рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджред). рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рддреИрдпрд╛рд░ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдЬреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВред
  3. рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдХрд░рдг. рдХрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдХрд░рдг рд╣реИрдВ. рдЙрди рд╕рднреА рдореЗрдВ рдЬреЛ рд╕рдорд╛рдирддрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдХреБрдЫ рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рдкрдардиреАрдп YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ, рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ рд╣реИрдВ, рдЬреЛ рдЬреАрд╡рди рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИрдВ) рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд╢реБрджреНрдз" рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЦреАрдВрдЪреЗ рдзрдХреНрдХрд╛ рджреЗрдВ

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

рдирд╛рдпрдм! GitOps рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рднреА рд▓рд╛рдн рджреЛрдиреЛрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИрдВред

рдЦреАрдВрдЪ рдЖрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг

GitOps: рдкреБрд▓ рдФрд░ рдкреБрд╢ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛

рдкреБрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдСрдкрд░реЗрдЯрд░ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд Git рдФрд░ Docker рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЙрдирдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрджреНрдпрддрди рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдмрд╣реБрдд рд╕реБрд░рдХреНрд╖рд┐рдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  1. рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИ; рд╕рднреА рдЕрдкрдбреЗрдЯ рднреАрддрд░ рд╕реЗ рд╣реА рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
  2. рдХреБрдЫ рдЙрдкрдХрд░рдг рдЖрдкрдХреЛ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдЕрдкрдбреЗрдЯ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
  3. рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдирдИ рдЫрд╡рд┐ рдЙрдкрд▓рдмреНрдз рд╣реИ, рддреЛ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  4. рдкреБрд▓ рдЯреВрд▓ рдХреЛ рд╡рд┐рднрд┐рдиреНрди Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдПрдХ рдорд▓реНрдЯреАрдЯреЗрдиреЗрдВрдЯ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреАрдо рдП рдиреЗрдорд╕реНрдкреЗрд╕ рдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ, рдЯреАрдо рдмреА рдиреЗрдорд╕реНрдкреЗрд╕ рдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЯреАрдо рдЧреНрд▓реЛрдмрд▓ рд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИред
  5. рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдкрдХрд░рдг рдмрд╣реБрдд рд╣рд▓реНрдХреЗ рд╣реЛрддреЗ рд╣реИрдВред
  6. рдСрдкрд░реЗрдЯрд░ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рдмрд┐рдЯрдирд╛рдореА рд╕реАрд▓рдмрдВрдж рд░рд╣рд╕реНрдп, рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  7. рд╕реАрдбреА рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рддреИрдирд╛рддреА рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рд╣реЛрддреА рд╣реИред

рд╡рд┐рдкрдХреНрд╖:

  1. рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рд╕реЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдирд┐рдпрдорд┐рдд рдЪрд╛рд░реНрдЯреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реАрд▓рдмрдВрдж рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдСрдкрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╡реЗ рдкреБрд▓ рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реИрдВред рдлрд┐рд░ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдирд╛рдд рд░рд╣рд╕реНрдпреЛрдВ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реЗрд▓реНрдо рдореЗрдВ рд░рд┐рд▓реАрдЬ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╣реЗрд▓реНрдо рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд░рд╣рд╕реНрдп рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЧрд┐рдЯ рдореЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░реЗрдВред
  2. рдЬрдм рдЖрдк рдЦреАрдВрдЪрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЕрдкрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЦреАрдВрдЪрдиреЗ рд╡рд╛рд▓реЗ рдФрдЬрд╛рд░реЛрдВ рд╕реЗ рдмрдВрдз рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрдВрддрд┐рдо рдЯреЗрдореНрдкреНрд▓реЗрдЯ Git рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЖрдкрдХреА рддреИрдирд╛рддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред

рдкреБрд╢ рдЖрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг

GitOps: рдкреБрд▓ рдФрд░ рдкреБрд╢ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛

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

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  1. рд╕реБрд░рдХреНрд╖рд╛ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдмрд┐рд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
  2. рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рд╣реЗрд▓реНрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
  3. рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд░рд╣рд╕реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрдиреНрд╣реЗрдВ Git рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░)ред
  4. рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдг рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  5. рдХрдВрдЯреЗрдирд░ рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдбреЗрдЯ рдмрд┐рд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдкрдХреНрд╖:

  1. рдХреНрд▓рд╕реНрдЯрд░ рдПрдХреНрд╕реЗрд╕ рдбреЗрдЯрд╛ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдВрджрд░ рд╣реИред
  2. рдкреБрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдЕрднреА рднреА рдЖрд╕рд╛рди рд╣реИред
  3. рд╕реАрдбреА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рднрд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЬрд┐рди рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЧрд┐рдЯрд▓реИрдм рд░рдирд░ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рд╣реЛрдВрдЧреА, рдФрд░ рдлрд┐рд░ рдЯреАрдо Azure DevOps рдпрд╛ рдЬреЗрдирдХрд┐рдВрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддреА рд╣реИ... рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрд┐рд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдкрд░рд┐рдгрд╛рдо: рдзрдХреНрдХрд╛ рджреЗрдВ рдпрд╛ рдЦреАрдВрдЪреЗрдВ?

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

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

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

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

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рд╡рд┐рдзрд┐ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЖрдкрдХреА рд░рд╛рдп рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдкреБрдирд╢реНрдЪ рдиреЛрдЯ

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

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

рд╣рдордиреЗ рджреЛрдиреЛрдВ рдореЙрдбрд▓реЛрдВ рдХреЛ рдЖрдЬрд╝рдорд╛рдпрд╛ рдФрд░ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рд╕рдорд╛рди рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ:

  1. рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд▓ рдореЙрдбрд▓ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ (рджреЗрдЦреЗрдВ)ред рдРрдбрдСрди-рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ).
  2. GitLab CI рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреБрд╢ рдореЙрдбрд▓ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рд╕рд╛рде рд╣реА, рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рднреАрддрд░ рддреИрдирд╛рддреА рдХреЗ рд░реЛрд▓рдЖрдЙрдЯ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреА рдЬрд╛рддреА рд╣реИ Werf. рд╡реИрд╕реЗ, рд╣рдорд╛рд░реЗ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЬрдм рд╣рдордиреЗ KubeCon рдпреВрд░реЛрдк'19 рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрдЯреИрдВрдб рдкрд░ DevOps рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА, рддреЛ рд╣рдордиреЗ рд▓рдЧрд╛рддрд╛рд░ "GitOps" рд╕реБрдирд╛ред

рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдкреА.рдкреА.рдПрд╕

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

рдХреЗрд╡рд▓ рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВрдХреГрдкрдпрд╛ред

рдХреНрдпрд╛ рдЖрдк GitOps рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

  • рд╣рд╛рдБ, рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЦреАрдВрдЪреЛ

  • рд╣рд╛рдБ, рдзрдХреНрдХрд╛

  • рд╣рд╛рдБ, рдЦреАрдВрдЪреЛ + рдзрдХреНрдХрд╛ рджреЛ

  • рд╣рд╛рдБ, рдХреБрдЫ рдФрд░

  • рдирд╣реАрдВ

30 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдорддрджрд╛рди рдХрд┐рдпрд╛ред 10 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд░рд╣реЗред

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

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