рд╡реЗрдпрд░рдл - рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕реАрдЖрдИ / рд╕реАрдбреА рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдЯреВрд▓ (рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рд░рд┐рдкреЛрд░реНрдЯ)

27 рдордИ рдХреЛ, DevOpsConf 2019 рд╕рдореНрдореЗрд▓рди рдХреЗ рдореБрдЦреНрдп рд╣реЙрд▓ рдореЗрдВ, RIT ++ 2019 рддреНрдпреЛрд╣рд╛рд░ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдХрдВрдЯреАрдиреНрдпреВрдЕрд╕ рдбрд┐рд▓реАрд╡рд░реА рд╕реЗрдХреНрд╢рди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ "рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ CI / CD рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЙрдкрдХрд░рдг" рдереЗред рдпрд╣ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп рд╕рднреА рдХреЛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ , рд╕рд╛рде рд╣реА рдЙрди рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╡реЗрдпрд░рдл рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╢реЛ рдХреЗ рдмрд╛рдж рд╕реЗ, рд╣рдорд╛рд░реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рдбреИрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛) рдиреЗ рдЧреАрдерд╣рдм рдкрд░ 1000 рд╕рд┐рддрд╛рд░реЛрдВ рдХреА рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╕реАрдорд╛ рдХреЛ рдкрд╛рд░ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ - рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдмрдврд╝рддрд╛ рд╕рдореБрджрд╛рдп рдХрдИ DevOps рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЗ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред



рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╡реАрдбрд┐рдпреЛ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ (~ 47 рдорд┐рдирдЯ, рд▓реЗрдЦ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг) рдФрд░ рдкрд╛рда рд░реВрдк рдореЗрдВ рдЗрд╕рд╕реЗ рдореБрдЦреНрдп рдЙрджреНрдзрд░рдгред рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдХреЛрдб рдбрд┐рд▓реАрд╡рд░реА


рдпрд╣ рдЪрд░реНрдЪрд╛ рдЕрдм рд╡реЗрд░реЗрдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕реАрдЖрдИ / рд╕реАрдбреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореИрдВрдиреЗ 2016 рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА) , рдФрд░ рдХреЗ 8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - 2017 рдореЗрдВ ) ред

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдбрд┐рд▓реАрд╡рд░реА рдХреНрдпрд╛ рджрд┐рдЦрддреА рд╣реИ?

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



рдпрд╣рд╛рдБ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ рд╣реИрдВ:

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

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

рд╕реНрдЯреЗрдЬ рдХрд╛ рдирд┐рд░реНрдорд╛рдг


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2019 рдореЗрдВ рдЖрдк рдбреЙрдХрдЯрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХреЛ рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ рдФрд░ рдбреЙрдХ docker build рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ? .. рдпрд╣рд╛рдВ рд╡реЗ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдореИрдВ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

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

рдпрд╣ рд╕рд┐рд░реНрдл рд╣рд┐рдорд╢реИрд▓ рдХрд╛ рдЯрд┐рдк рдерд╛ рдЬрд┐рд╕рдХрд╛ рд╕рд╛рдордирд╛ рд╣рд░ рдХреЛрдИ рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ:

  1. рдЕрдХреНрд╕рд░ рдЕрд╕реЗрдВрдмрд▓реА рд╕реНрдЯреЗрдЬ рдкрд░ рд╣рдореЗрдВ рдХреБрдЫ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдХрдорд╛рдВрдб рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХреИрд╢ рдХрд░реЗрдВ)ред
  2. рд╣рдо рд╢реЗрд▓ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдиреНрд╕рд┐рдмрд▓ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
  3. рд╣рдо рдбреЙрдХрд░ рдХреЗ рдмрд┐рдирд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рд╣рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрднрд╛рд╕реА рдорд╢реАрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ?)ред
  4. рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрд╕реЗрдВрдмрд▓реА , рдЬрд┐рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдбреЙрдХрд░рдлрд╛рдЗрд▓ (рдпрджрд┐ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдорд╛рдВрдб, рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдХрдИ рдХреЙрдореЗрдЯреНрд╕, рдХрдИ рдбреЙрдХрд░рдлрд╛рдЗрд▓реНрд╕ред
  5. рд╡рд┐рддрд░рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА : рд╣рдо рдкреЙрдбреНрд╕ рдореЗрдВ рдХреБрдЫ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ "рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ" рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдХреИрд╢ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрд╣реАрдВ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  6. рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЗ рд╢рд┐рдЦрд░ рдХреЛ рдСрдЯреЛ- рдореИрдЬрд┐рдХ рдХрд╣рд╛ : рдпрд╣ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реЛрдЧрд╛, рдХреБрдЫ рдЯреАрдо рдЯрд╛рдЗрдк рдХрд░реЗрдВ рдФрд░ рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдХреИрд╕реЗ рдФрд░ рдХреНрдпрд╛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдХреЗ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рднреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдФрд░ рдпрд╣рд╛рдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ:

  • moby / buildkit - рдХрдВрдкрдиреА Docker Inc рдХрд╛ рдПрдХ рдмрд┐рд▓реНрдбрд░ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Docker рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдПрдХреАрдХреГрдд), рдЬреЛ рдЗрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ;
  • kaniko - Google рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╛рд╣рдХ, рдЬреЛ рдЖрдкрдХреЛ рдмрд┐рдирд╛ рдбреЙрдХрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
  • рдмрд┐рд▓реНрдбрдкреИрдХрд┐рдпреЛ - рдСрдЯреЛ- рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрдирд╕реАрдПрдл рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рдФрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд┐рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╛рдзрд╛рди;
  • рдФрд░ buildah , genuinetools / img рдЬреИрд╕реЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ ...

... рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЧреАрддрд╛рдм рдкрд░ рдХрд┐рддрдиреЗ рд╕рд┐рддрд╛рд░реЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдПрдХ рддрд░рдл, docker build рд╣реИ рдФрд░ рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрд┐рд▓реНрдбрд░реЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рд╣рд░реНрдл рдореЗрдВ рдирд┐рд░реНрдорд╛рдг


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



рдиреАрд▓реА рдЫрд╛рдпрд╛рдВрдХрд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдПрдХ рд╣реА рдореЗрдЬрдмрд╛рди рдХреЗ рднреАрддрд░ рдХреА рдЧрдИ рд╣реИ, рдФрд░ рд╣рдо рдЧрд░реНрдорд┐рдпреЛрдВ рдХреЗ рдЕрдВрдд рддрдХ рдкреАрд▓реЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред

рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рдЪрд░рдг (рдкреНрд░рдХрд╛рд╢рд┐рдд)


рд╣рдордиреЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ docker push ... - рдЫрд╡рд┐ рдХреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдФрд░ рдлрд┐рд░ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ: "рдЫрд╡рд┐ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЯреИрдЧ?" рдпрд╣ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Gitflow (рдпрд╛ рдЕрдиреНрдп Git рд░рдгрдиреАрддрд┐) рдФрд░ Kubernetes рд╣реИ, рдФрд░ рдЙрджреНрдпреЛрдЧ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ рдХрд┐ Kubernetes рдореЗрдВ рдЬреЛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рд╡рд╣ Git рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред Git рд╣рдорд╛рд░реЗ рд╕рддреНрдп рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕реНрд░реЛрдд рд╣реИред

рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рдХреНрдпрд╛ рд╣реИ? рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ : Git рдореЗрдВ рдПрдХ рдХрдорд┐рдЯ рд╕реЗ, рдЬреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИ , рдПрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ рд╕рдорд╛рди рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдЯреИрдЧрд┐рдВрдЧ


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



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

рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк git рдХрдорд┐рдЯ + рдЯреИрдЧ рд╣реИ ред рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ 1.0 рдЯреИрдЧ рд╣реИ; рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП - рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдирд╛рдд рдПрдХ рдЫрд╡рд┐ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдФрд░ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд▓реВрдк рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо Gitflow рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ: рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣рдо рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░рддреЗ develop , рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ #c1 рд╕рд╛рде рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдо рдЗрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ ( #c1 ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЙрд╕реА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо #c2 рдФрд░ #c3 рд╕рд╛рде рдРрд╕рд╛ рд╣реА рдХрд░рддреЗ рд╣реИрдВред

рдЬрдм рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдм рдХреБрдЫ рд╕реНрдерд┐рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред Git рдореЗрдВ, release_1.1 рд╢рд╛рдЦрд╛ рдмрдирд╛рдПрдВ ( develop рд╕реЗ #c3 рдЖрдзрд╛рд░ рдкрд░)ред рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд░реЛрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо #c4 рдореЗрдВ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдкрд░ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реА рд╕рдордп, рд╡рд┐рдХрд╛рд╕ рдкрд░ рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдордп-рд╕рдордп рдкрд░ release_1.1 рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рд╣рдо рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдордЪрд╛рди рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рдкрдВрдк рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╣рдо рдЦреБрд╢ рд╣реЛрддреЗ рд╣реИрдВ ( #c25 )ред

рдлрд┐рд░ рд╣рдо рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛ ( release_1.1 ) рдХрд╛ рдПрдХ рдорд░реНрдЬ (рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдХреЗ рд╕рд╛рде) рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдЗрд╕ рдХрдорд┐рдЯ рдкрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг ( 1.1 ) рдХреЗ рд╕рд╛рде рдПрдХ рдЯреИрдЧ рд▓рдЧрд╛рдпрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдЫрд╡рд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЗрдХрдЯреНрдареА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдореМрдЬреВрджрд╛ рдЫрд╡рд┐ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рджреВрд╕рд░рд╛ рдЯреИрдЧ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдЕрдм рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЗрд╕рдХреЗ рдЯреИрдЧ #c25 рдФрд░ 1.1 )ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд░реЛрд▓ рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ рдЦрд╛рдореА рд╣реИ рдХрд┐ рдПрдХ рдЫрд╡рд┐ ( #c25 ) рдХреЛ рдордВрдЪрди рдкрд░ #c25 рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ ( 1.1 ) рдЙрддреНрдкрд╛рджрди рдкрд░ #c25 рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ "рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ" рдпрд╣ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдПрдХ рд╣реА рдЫрд╡рд┐ рд╣реИред



рдЕрд╕рд▓реА рдорд╛рдЗрдирд╕ рдпрд╣ рд╣реИ рдХрд┐ рдорд░реНрдЬ рдХрдорд┐рдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЪрд╛рд▓ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ ... рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 FROM ruby:2.3 as assets RUN mkdir -p /app WORKDIR /app COPY . ./ RUN gem install bundler && bundle install RUN bundle exec rake assets:precompile CMD bundle exec puma -C config/puma.rb FROM nginx:alpine COPY --from=assets /app/public /usr/share/nginx/www/public 

рд╣рдо рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕рдореЗрдВ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рд▓реЗрддреЗ рд╣реИрдВ:

  • рдкреНрд░рдпреБрдХреНрдд рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рд╕реЗ SHA256 ( ruby:2.3 рдФрд░ nginx:alpine ), рдЬреЛ рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЪреЗрдХрд╕рдо рд╣реИрдВ;
  • рд╕рднреА рдЯреАрдореЗрдВ ( RUN , CMD , рдЖрджрд┐);
  • SHA256 рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗред

... рдФрд░ рдРрд╕реА рдлрд╛рдЗрд▓ рд╕реЗ рдЪреЗрдХрд╕рдо (рдлрд┐рд░ SHA256) рд▓реЗрдВред рдпрд╣ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдХрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╣реИ ред



рдЖрдЗрдП рдпреЛрдЬрдирд╛ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдХрдорд┐рдЯ рдХреЗ рдмрдЬрд╛рдп рд╣рдо рдРрд╕реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ , рдЕрд░реНрдерд╛рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдЫрд╡рд┐рдпрд╛рдБред



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

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

рд╣рд░реНрдл рдореЗрдВ рдЯреИрдЧрд┐рдВрдЧ


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

рд╡реЗрдпрд░рдлрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдмрд┐рд▓реНрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ ( рдкрд╣рд▓реЗ , рд╕реНрдерд╛рдкрд┐рдд , рдкрд╣рд▓реЗ , рд╕реЗрдЯрдЕрдк , рд╕реЗрдЯрдЕрдк )ред рд╣рдо рдкрд╣рд▓реЗ рдЪрд░рдг рдХреА рдЫрд╡рд┐ рдХреЛ рдкрд╣рд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рдЪреЗрдХрд╕рдо рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рд╕реНрд░реЛрдд рдХреЛрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдирдИ рдЪрд░рдг-рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕рдХреЗ рдЪреЗрдХрд╕рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ ... рдпреЗ рдСрдкрд░реЗрд╢рди рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдореЗрдВ рдЪрд░рдг-рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдорд┐рд▓рддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рдЕрдВрддрд┐рдо рдЫрд╡рд┐-рдЪрд┐рддреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреЗ рдореВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рднреА рд╣реИред рдФрд░ рд╣рдо рдЗрд╕ рдЫрд╡рд┐ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдЯреИрдЧ рдХрд░рддреЗ рд╣реИрдВ (рд╡рд┐рд╡рд░рдг рдмрд╛рдж рдореЗрдВ)ред



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

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



рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреА рд╕рдлрд╛рдИ


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

рд╕рдлрд╛рдИ рд░рдгрдиреАрддрд┐рдпрд╛рдБ рдХреНрдпрд╛ рд╣реИрдВ?

  1. рдЖрдк рдХреБрдЫ рднреА рд╕рд╛рдл рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдХрднреА-рдХрднреА рдЯреИрдЧ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдЧреЗрдВрдж рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
  2. рдкреВрд░реНрдг рд░реАрд╕реЗрдЯ ред рдпрджрд┐ рдЖрдк рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ CI рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдЙрддреНрдкрд╛рджрди рдкрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдЫрд╡рд┐ рд▓реЛрдб рдХреА рдЬрд╛рдПрдЧреА - рдПрдХ рдЬрд┐рд╕реЗ рдЕрднреА рддрдХ рдХрд┐рд╕реА рдиреЗ рднреА рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдорд╛рд░рддрд╛ рд╣реИред
  3. рдиреАрд▓рд╛-рд╣рд░рд╛ ред рдПрдХ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХрд░рдиреЗ рд▓рдЧреА - рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ред рдкрд┐рдЫрд▓реА рдкрджреНрдзрддрд┐ рдХреА рддрд░рд╣ рд╣реА рд╕рдорд╕реНрдпрд╛: рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЖрдк рдЙрд╕ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рд╕рд╛рдл рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдУрд╡рд░рдлреНрд▓реЛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ?
  4. рд╕рдордп рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ ред 1 рдорд╣реАрдиреЗ рд╕реЗ рдкреБрд░рд╛рдиреА рд╕рднреА рдЫрд╡рд┐рдпрд╛рдВ рд╣рдЯрд╛рдПрдВ? рд▓реЗрдХрд┐рди рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рд╣реЛрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдорд╣реАрдиреЗ рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ...
  5. рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрдпрд╛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рд╣рдо рдХрд╣рд╛рдБ рдЧрдП рдереЗ? рд╣рдо рдПрдХрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

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

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

рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЪрд░рдг (рдкрд░рд┐рдирд┐рдпреЛрдЬрди)


рдордЬрдмреВрдд рдШреЛрд╖рдгрд╛


рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рддреИрдирд╛рддреА рдореЗрдВ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдШреЛрд╖рд┐рдд рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдЕрджреНрдпрддрди рд╕рдВрд╕рд╛рдзрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдирд╛ рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореВрд▓ YAML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣рдореЗрд╢рд╛ рдЙрд╕ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ Kubernetes рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:

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

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

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ 2-рддрд░рдлрд╛ рдорд░реНрдЬ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЗрд▓реНрдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

3-рддрд░рдлрд╝рд╛ рдорд░реНрдЬ рднреА рд╣реИ , рдЬреЛ рдЗрд╕рдореЗрдВ рднрд┐рдиреНрди рд╣реИ:

  • рдЕрдВрддрд┐рдо-рд▓рд╛рдЧреВ рдФрд░ рдирдП рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
  • рдирдП рдФрд░ рдЬреАрд╡рдВрдд рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЬреЛрдбрд╝рд╛ рдпрд╛ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИ;
  • рдЬреАрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖реЗрдк рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рд╣рдо рд╣реЗрд▓реНрдо рдХреЗ рд╕рд╛рде 1000+ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 2-рд╡реЗ рдорд░реНрдЬ рдХреЗ рд╕рд╛рде рд░рд╣рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдирдХреЗ рдкрд╛рд╕ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдЕрдкрдиреЗ рдкреИрдЪ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╣реЗрд▓реНрдо рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЛрд▓рдЖрдЙрдЯ рд╕реНрдерд┐рддрд┐


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



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

рд╕рдм рдХреБрдЫ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд┐рдВрдХ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ - рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреНрд░реИрдХрд░ рдЬреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЪреАрдЬреЛрдВ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ред рд╣рдордиреЗ Go - kubedog рдкрд░ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдИ (рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ) - рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ werf рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡реЗрдпрд░рдлрд╝ рд╕реНрддрд░ рдкрд░ рдЗрд╕ рдЯреНрд░реИрдХрд░ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдпрд╛ рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯреНрд╕ рдкрд░ рдбрд╛рд▓реЗ рдЧрдП рд╣реИрдВред рдореБрдЦреНрдп рдПрдиреЛрдЯреЗрд╢рди, fail-mode , рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрд░реНрдереЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ:

  • IgnoreAndContinueDeployProcess - рдЗрд╕ рдШрдЯрдХ рдХреА IgnoreAndContinueDeployProcess рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ рдФрд░ рддреИрдирд╛рддреА рдЬрд╛рд░реА рд░рдЦреЗрдВ;
  • FailWholeDeployProcessImmediately - рдЗрд╕ рдШрдЯрдХ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрддреА рд╣реИ;
  • HopeUntilEndOfDeployProcess - рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдШрдЯрдХ рддреИрдирд╛рддреА рдХреЗ рдЕрдВрдд рддрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ fail-mode рдПрдиреЛрдЯреЗрд╢рди рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди:



рдкрд╣рд▓реА рдмрд╛рд░ рддреИрдирд╛рддреА рдХрд░рддреЗ рд╕рдордп, рдбреЗрдЯрд╛рдмреЗрд╕ (MongoDB) рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рддреИрдирд╛рддреА рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧреАред рд▓реЗрдХрд┐рди рдЖрдк рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдпрд╣ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рддреИрдирд╛рддреА рдЕрднреА рднреА рдЧреБрдЬрд░ рдЬрд╛рдПрдЧреАред

рд╣рдлрд╝реНрддреЗ рдореЗрдВ рдХреБрдмреЗрджреЛрдЧ рдХреЗ рд▓рд┐рдП рджреЛ рдФрд░ рдПрдиреЛрдЯреЗрд╢рди рд╣реИрдВ:

  • failures-allowed-per-replica - рдкреНрд░рддрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреА рдЕрдиреБрдорддрд┐ рдмреВрдВрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛;
  • show-logs-until - рдЙрд╕ рдкрд▓ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╕рднреА рдкреЙрдбреНрд╕ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ PodIsReady (рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рд╢рд╛рдпрдж рд╣реА рдЬрд╝рд░реВрд░рдд рд╣реЛ рдЬрдм рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреЙрдб рдкрд░ рдЖрдиреЗ рд▓рдЧреЗ), рд╣рд╛рд▓рд╛рдБрдХрд┐, ControllerIsReady EndOfDeploy рдФрд░ EndOfDeploy рдорд╛рди рднреА EndOfDeploy ред

рд╣рдо рддреИрдирд╛рддреА рд╕реЗ рдФрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?


рдкрд╣рд▓реЗ рд╕реЗ рд╡рд░реНрдгрд┐рдд рджреЛ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗ:

  • рд▓реЙрдЧ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП - рдФрд░ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдирд╣реАрдВ;
  • рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдХреЛрдИ рдХрд╛рдо "рдЪреБрдкрдЪрд╛рдк" рдХрдИ рдорд┐рдирдЯреЛрдВ рддрдХ рд▓рдЯрдХрд╛ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ;
  • рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ (рдФрд░ рдЗрд╕рд▓рд┐рдП рддреИрдирд╛рддреА рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ) рддреЛ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реЛрд▓рдмреИрдХ рд╣реИред рд░реЛрд▓рдЖрдЙрдЯ рдкрд░рдорд╛рдгреБ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдпрд╛ рддреЛ рдпрд╣ рдЕрдВрдд рддрдХ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рд╕рдм рдХреБрдЫ рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реМрдЯрддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдо


рдПрдХ рдХрдВрдкрдиреА рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдореЗрдВ рд╕рднреА рд╡рд░реНрдгрд┐рдд рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдмрд┐рд▓реНрдб, рдкреНрд░рдХрд╛рд╢рд┐рдд, рддреИрдирд╛рдд), CI рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╡реЗрдпрд░рдл рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ ред

рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп:



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

рд╡реАрдбрд┐рдпреЛ рдФрд░ рд╕реНрд▓рд╛рдЗрдб


рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рд╡реАрдбрд┐рдпреЛ (~ 47 рдорд┐рдирдЯ):



рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐:



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


рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рдЕрдиреНрдп рдХреБрдмреЗрд░рдиреЗрдЯ рд░рд┐рдкреЛрд░реНрдЯ:

Source: https://habr.com/ru/post/hi460351/


All Articles