рдорд╛рдЗрдХрд▓ рдбреАрд╣реИрди рд╡рд╣ рд╢рдЦреНрд╕ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдВрд╕рд┐рдмрд▓ рдмрдирд╛рдпрд╛ред рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ, рд░рд┐рд▓реАрдЬрд╝ рдФрд░ DevOps рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рдХрдИ рдЪреАрдЬреЗрдВ рдирд┐рдпрдорд┐рдд рдЖрдзрд╛рд░ рдкрд░ рд╣реЛрддреА рд╣реИрдВ, рдЗрд╕реЗ рд╣рд▓реНрдХрд╛, рдирд┐рд░реНрдмрд╛рдз рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред DeHaan рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд▓реЛрдЧ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬрд╝реЛрдВ (рдХрд╛рдо рдкрд░ рдпрд╛ рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЗ рджрд░рд╡рд╛рдЬреЗ рдХреЗ рдмрд╛рд╣рд░) рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рдордп рдЦрд╛рд▓реА рдХрд░реЗрдВ, рдФрд░ рдПрдХ рдЙрддреНрдкрд╛рдж рдХреЛрдб рд▓рд┐рдЦреЗрдВ рдЬреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рдордп рдХреЛ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИред
рдЕрдзрд┐рдХ рд╕рдордп, рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рдШрдВрдЯреЛрдВ рдХреЗ рджреМрд░рд╛рди рдХрдо рдПрдбреНрд░реЗрдирд╛рд▓рд╛рдИрди, рдХрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдХрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВред
рд╡реИрд╕реЗ, рдЖрдк 6 рдЬреВрди рдХреЛ
рдпрд╣рд╛рдВ рд▓рд╛рдЗрд╡рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдХреЗ рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдкрд░ рдкрдврд╝рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред

рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдкрдврд╝рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ ...
рдЙрддреНрддрд░: рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдФрд░ рд╡рд┐рддрд░рдг
Ansible рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдУрдкрди рд╕реЛрд░реНрд╕ рдСрдЯреЛрдореЗрд╢рди рднрд╛рд╖рд╛ рд╣реИред рд╣рд╛рдВ, рдпрд╣ рди рдХреЗрд╡рд▓ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдЖрдИрдЯреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рддреИрдирд╛рддреА рдФрд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдВрд╕рд┐рдмрд▓ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдпрд╣ рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕рд╛рдмрд┐рдд рд╣реБрдЖред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рддрд░рдг (CI / CD) рдХреЗ рджреМрд░рд╛рди рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╡реНрдпрд╛рдкрдХ рдкрд░рд┐рд╢реЛрдзрди рдХреЗ рдХрд╛рд░рдг рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреНрд░рд┐рдХреНрд╕ред Ansible рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреЗ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдПрдХ рдЯрд░реНрдирдХреА рд╕рдорд╛рдзрд╛рди "рд╕рднреА рдореЗрдВ рдПрдХ" рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╕рддрдд рдПрдХреАрдХрд░рдг рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рддрд░рдг (CI / CD)
рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╕рддреНрдпред рдкрд┐рдЫрд▓реЗ 10 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ (рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓) рдХреЗ рд▓рдВрдмреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рдЪрдХреНрд░ (рддрдерд╛рдХрдерд┐рдд "рдкреБрдирд░рд╛рд╡реГрддреНрдд" рдпрд╛ рдЪреБрд╕реНрдд рд╡рд┐рдХрд╛рд╕) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдУрд╡рд░рд╣реЗрдб рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдЕрддрд╛рд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ: рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдмрд╕ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдЖрдИрдЯреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд░рд┐рд▓реАрдЬ рдХреЗ рдХрд░реАрдм рд╕рдВрд╕реНрдХрд░рдг, рдЕрдзрд┐рдХ рд╡реНрдпрд╕реНрдд рдЖрдИрдЯреА рдкреЗрд╢реЗрд╡рд░ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдмрдЧ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рдмреАрдЪ рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд▓рдВрдмрд╛ рдЪрдХреНрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдХрдорд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдФрд░ рдЙрдиреНрдореВрд▓рди рдХреЗ рдмреАрдЪ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд▓реНрдЯреАрдорд┐рд▓рд┐рдпрди-рдбреЙрд▓рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рд╡реЗрдм рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЙрджреНрдпреЛрдЧ рддреЗрдЬреА рд╕реЗ "рддреЗрдЬреА рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдмрд╛рд░ рд░рд┐рд▓реАрдЬ" рдирд╛рд░реЗ рдХреЗ рддрд╣рдд рдлреБрд░реНрддреАрд▓реА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЕрдкрдирд╛ рд░рд╣рд╛ рд╣реИ, рддрд╛рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдХрдо рдмрд╛рд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рд╕реБрдзрд╛рд░ рдФрд░ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЛ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдмрдирд╛ рд╕рдХреЗрдВ, рд▓рд╛рдЧреВ рдХрд░ рд╕рдХреЗрдВред
рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрд╡рдЪрд╛рд▓рди, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЕрдиреНрдп рд╕рдВрдмрдВрдзрд┐рдд рддрдХрдиреАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреАрдбреАрдбреА рд╡рд┐рдХрд╛рд╕ рдирдИ рдХрд╛рд░реНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЛ рдФрд░ рдмрдврд╝рд╛рддрд╛ рд╣реИред рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╣рд╛рдБ рд╣реИ? рдРрд╕реА рддрдХрдиреАрдХреЗрдВ рдХрд╣рд╛рдВ рд╣реИрдВ рдЬреЛ рдЧрд┐рдпрд░ рдХреЛ рддреЗрдЬреА рд╕реЗ рд╕реНрдкрд┐рди рдХрд░рддреА рд╣реИрдВ рдФрд░ рдорд╛рдирд╡ рднрд╛рдЧреАрджрд╛рд░реА рдХреЛ рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рддрдХ рдХрдо рдХрд░рддреА рд╣реИрдВ?
рдФрд░ рдпрд╣рд╛рдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдзреБрдирд┐рдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдИрдЯреА рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Red Hat's Ansible and Ansible Towerред
рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо
рдереЛрдбрд╝рд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯред рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХрд╛ рдЕрд░реНрде рд╣реИ рдЦреЛрдП рд╣реБрдП рд▓рд╛рдн рдФрд░ рдЕрд╕рдВрддреБрд╖реНрдЯ рдЧреНрд░рд╛рд╣рдХред рдЗрд╕рд▓рд┐рдП, рд╡реЗрдм рдХрддрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рд░ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреБрд╕реВрдЪрд┐рдд рд╢рдЯрдбрд╛рдЙрди рдХреА рдЕрдиреБрдорддрд┐ рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрдВрднреАрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рджреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕реВрдЪреА рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╕реНрдерд┐рддрд┐ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдорд╛рди рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдпрд╛ рд▓реЗрдЦрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреА рджреБрд░реНрдЧрдорддрд╛ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдХрд░реНрдордЪрд╛рд░реА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдХрдо рдХрд░рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрд┐рд╕реА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡реНрдпрд╡рдзрд╛рди рдХреЗ рдЕрдкрдбреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рдеред
рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдЬреИрд╕реЗ рдХрд┐ рдЙрдиреНрдирдд, рдмрд╣реБ-рд╕реНрддрд░реАрдп рдФрд░ рдмрд╣реБ-рдордВрдЪ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди, рдЬреИрд╕реЗ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Ansible рд╕рд┐рд╕реНрдЯрдоред
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо
рд╕рддрдд рд╡рд┐рддрд░рдг (рд╕реАрдбреА) рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг (CI) рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдЬреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИ, рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рддреА рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдб рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ (рдФрд░ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг) рдмрдирд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреЗрдирдХрд┐рдВрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (jenkins.io)ред
рдЖрд╡реЗрджрди рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдпреЛрдЬрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реАрдбреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмреИрдЯрди рдХреЛ рд░рд┐рд▓реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдмрд┐рд▓реНрдб рд╕рдмрд╕рд┐рд╕реНрдЯрдо рддреБрд░рдВрдд рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдпреВрдирд┐рдЯ рдпрд╛ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬреЗрдирдХрд┐рдВрд╕ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЙрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдордзреНрдпрд╡рд░реНрддреА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдкреВрд░реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╕реНрд╡рдЪрд╛рд▓рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдЕрдиреНрд╕рд┐рдмрд▓ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдбреЗрдЯрд╛ рд╕реАрдзреЗ рдЯреЙрд╡рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдиреМрдХрд░рд┐рдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЯреЙрд╡рд░ рдЖрдкрдХреЛ "рдореБрдХрд╛рдмрд▓рд╛" рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рддреИрдирд╛рддреА рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдорд▓реНрдЯреАрд▓реЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
рд╕реАрдбреА-рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрд╕реНрддрд░реАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд░реЛрд▓рд┐рдВрдЧ рдЕрдкрдбреЗрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреБрд╢ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдорд▓реНрдЯреА-рд▓реЗрд╡рд▓ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЙрдирдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╕рдордп, рдХрд┐рд╕реА рднреА рд╕реНрддрд░ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрддрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ, рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдЕрдВрд╕рд┐рдмреЗрд▓ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдиреНрд╕рд┐рдмрд▓ рдкреНрд▓реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд▓рдХреНрд╖реНрдп рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЛ рдареАрдХ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ (рд░реЛрд▓) рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЙрди рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рд░реНрдп рдЖрдорддреМрд░ рдкрд░ рдШреЛрд╖рдгрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдЯреА рд╕рдВрд╕рд╛рдзрди рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд░рд╛рдЬреНрдп рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЛрдкреЛрд▓реЙрдЬреА, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдЦреНрдд рдХреНрд░рдо рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЖрдк рдЕрднреА рднреА рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рднреА рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрдм рд╕реЗрд╡рд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрд▓рдмреНрдз рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрдЧрд╣ рднреА рддреБрд░рдВрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЗрд╕реЗ рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдкреВрд▓ рд╕реЗ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдЖрдкрдХреЛ рдкреВрд▓ рд╕реЗ рдорд╢реАрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓рдЧрд╛рддрд╛рд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╢рдмреНрдж рд╣реИред рдЙрддреНрддрд░рд╡рд░реНрддреА рдПрдХ рдЕрджреНрдпрддрди рдХреА рдЦрд┐рдбрд╝рдХреА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрд╣реБрдд рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдкрдбреЗрдЯ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдХрд┐рд╕реА рд╕реНрддрд░ рдкрд░ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЕрдкрдбреЗрдЯ рдХреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд╛рдХреА рдЖрдИрдЯреА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рди рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╕реНрд╡рдЪрд╛рд▓рди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░ рддреИрдирд╛рддреА
рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдбреА-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕реНрд╡рдпрдВ рд╕реНрд╡рдЪрд╛рд▓рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдирд┐рд░рдВрддрд░ рддреИрдирд╛рддреА рдХрд╛ рднреА рдЖрдпреЛрдЬрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (Ansible Playbook рдирд┐рд░реНрджреЗрд╢ рд╕реЗрдЯред рдкрдврд╝рдирд╛ рдмрдВрдж рди рдХрд░реЗрдВ, рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдкреНрд▓реЗрдмреБрдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реЛрдВрдЧреЗ)ред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдордзреНрдпрд╡рд░реНрддреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рдлрд▓ рдмреНрд░реЗрдХ-рдЗрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХреЗрдВрджреНрд░реАрдп рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рднреА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдФрд░ рдЕрдиреНрдп рдлрд╛рдпрджреЗ рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЕрдирд┐рдпреЛрдЬрд┐рдд рдЖрдЙрдЯреЗрдЬ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╛рдирд╡ рдирд┐рдпрдВрддреНрд░рдг рд╣реИред рдпрд╣ рдПрдХ рдХреЛрдб рдирд┐рд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдЬреИрд╕реЗ
Gerrit рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдХреЗ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╡реЗ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЙрдорд░реЗрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрджреНрдпрддрди рдФрд░ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдкреНрд░рдгрд╛рд▓реА
рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдкрд░ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдВрд╕рд┐рдмрд▓ рдмрд╣реБрдд рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рдХреЗрд╡рд▓ рдПрдХ Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдореЗрдЬрдмрд╛рди рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЪрдХреНрд░ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ "рд╣реЛрд╕реНрдЯ Y рдХреА рдУрд░ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо X рдкрд░ рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдХрд░рдирд╛", рдФрд░ Ansible рдмрд╛рдХреА рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░реЗрдЧрд╛ред
рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЛрдб рдмреИрд▓реЗрдиреНрд╕рд░ рдХреЗ рд╕рд╛рде рдПрдВрд╕рд┐рдмрд▓ рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрджреНрдпрддрди рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЗрдЬрдмрд╛рди рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рд╕рд░рд▓ рдпреЛрдЬрдирд╛ "рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдмрдВрдж рдХрд░реЗрдВ - рдкреВрд▓ рд╕реЗ рд╣рдЯрд╛рдПрдВ - рд╡рд╛рдВрдЫрд┐рдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрддрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ - рдкреВрд▓ рдкрд░ рд▓реМрдЯреЗрдВ - рдирд┐рдЧрд░рд╛рдиреА рдЪрд╛рд▓реВ рдХрд░реЗрдВ" рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдФрд░ рдЭреВрдареЗ рдЕрд▓рд╛рд░реНрдо рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЕрдкрдбреЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╕рдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЛрдб рдореЗрдВ рд╣реИ, рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рдмрд┐рдирд╛ред
рдПрдХреАрдХреГрдд рдордзреНрдпрд╡рд░реНрддреА рдкрд░реАрдХреНрд╖рдг
рдЯреЙрд╡рд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ (рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ "рд▓рдбрд╝рд╛рдИ" рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдордзреНрдпрд╡рд░реНрддреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдЕрджреНрдпрддрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, "-i" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдВрдЬрд╝рд┐рдмрд▓ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп рдХреМрди-рд╕реА рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╛ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдПред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрд╡рдпрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкрд░рд┐рдирд┐рдпреЛрдЬрди
рдХреБрдЫ рд▓реЛрдЧ рдУрдПрд╕ рдкреИрдХреЗрдЬ (рдЖрд░рдкреАрдПрдо, рдбреАрдмреАрдПрд╕, рдЖрджрд┐) рд╣реЙрдЯреНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреИрдХ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдРрд╕реА рдкреИрдХреЗрдЬрд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, Ansible рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рд╕реЗ рд╕реАрдзреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЯреИрдЧ рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдордВрдЬрд╕реНрдп рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж Ansible рд╕рднреА рд▓рдХреНрд╖рд┐рдд рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдФрд░ рдХреЗрд╡рд▓ рддрднреА рдЪрд░рдг рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдЧрд╛ рдЬрдм рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛ рдкреБрдирд░рд╛рд░рдВрдн рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ред
рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг
рдПрдХ рдкреВрд░реНрдг рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ, Ansible рдирд┐рдЧрд░рд╛рдиреА рд╕реНрддрд░ рдкрд░ APM- рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдпрд╛ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди, рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде APM рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдПрдЬреЗрдВрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдпрд╛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП Ansible рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рд╣реИ, рдФрд░ рдПрдЬреЗрдВрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, Ansible рдЗрд╕реЗ APM рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реНрдЯреИрдХ (рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рдмрдВрдзрдХ рддреБрд░рдВрдд рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХреЗрдВ рдХрд┐ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ред
рдпрджрд┐ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдг рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Ansible рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдХреЗрд╡рд▓ рдЕрдЧрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реЛрд▓рдмреИрдХ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред
рдШрдЯрдирд╛ рдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛
CI / CD рдкреНрд░рддрд┐рдорд╛рди рдореЗрдВ, рд╣рд░ рдХреЛрдИ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдШрдЯрдирд╛ рд╕реВрдЪрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред Ansible рджреЛрдиреЛрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдИрдореЗрд▓ рдореЙрдбреНрдпреВрд▓, рд╕рд╛рде рд╣реА рдмрд╛рд╣рд░реА рд╕реВрдЪрдирд╛ рдЙрдкрдХрд░рдг, рдЬреИрд╕реЗ рддреНрд╡рд░рд┐рдд рд╕рдВрджреЗрд╢рд╡рд╛рд╣рдХ, рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдпрд╛ рдЗрд╡реЗрдВрдЯ рдкрдВрдЬреАрдХрд░рдг рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИред
рд╕рдВрд╕рд╛рдзрди рд╕реНрдерд┐рддрд┐ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд░рд┐рдирд┐рдпреЛрдЬрди
Ansible рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдЬреЛ рдЗрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рдмрдирд╛рддреА рд╣реИ, рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрджреНрдпрддрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рд░рд╛рдЬреНрдп рдореЙрдбрд▓ рдХрд╛ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧ рд╣реИ, рдЬрд┐рд╕рдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИред рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдВрд╕рд┐рдмрд▓ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд┐рд▓реАрд╡рд░реА рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд▓реИрд╕ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
Ansible рдореЗрдВ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд╕реНрддрд░реЛрдВ рдкрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрд╣реБрдд рд╣реА рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдкрдВрдЬреАрдХреГрдд рдФрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реМрдВрдкрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕рдВрд╕рд╛рдзрди рдореЙрдбрд▓ ("рдкреИрдХреЗрдЬ рдПрдХреНрд╕ рд░рд╛рдЬреНрдп рд╡рд╛рдИ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП") рдФрд░ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХрдорд╛рдВрдб рдХрдорд╛рдВрдб (рдЬреИрд╕реЗ "рд░рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред .sh ") рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рднреАрддрд░ред
рдЙрддреНрддрд░ рджреЗрдиреЗ рдпреЛрдЧреНрдп рднреА рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдЙрдирдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдПрдХ рдПрдХрд▓ рдЙрдкрдХрд░рдг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рднреАрддрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдХрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдпреЛрдЬрдирд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ, рдФрд░, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдУрдПрд╕ рдиреАрддрд┐рдпреЛрдВ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкрд░реАрдХреНрд╖рдг
рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдЕрд╡рд╕рд░, рдЙрддрдиреА рд╣реА рдЕрдзрд┐рдХ рдЬрд┐рдореНрдореЗрджрд╛рд░реАред рдирд┐рд░рдВрддрд░ рд╡рд┐рддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдПрдХ рдЕрд╕рдлрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдРрдирд┐рдмрд▓ рдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдкрд░реАрдХреНрд╖рдг рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЧрд▓рдд рд╣реЛрдиреЗ рдкрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЕрджреНрдпрддрди рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ред рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреА рд╕реНрдерд┐рддрд┐ рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдорд╛рдВрдб рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ Ansible рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдлреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХрд┐рд╕реА рднреА рд╕рдордп рдореЗрдЬрдмрд╛рди рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЕрдкрдбреЗрдЯ рдХреЗ рд╢реБрд░реБрдЖрддреА рдЪрд░рдг рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдордзреНрдпрд╡рд░реНрддреА рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЗ рдХрд╛рд░рдг, рдмрд╛рдж рд╡рд╛рд▓рд╛ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ "рд▓рдбрд╝рд╛рдХреВ" рд╕рд░реНрд╡рд░ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЕрджреНрдпрддрди рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рдкреНрд▓реЗрдмреБрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдирд┐рдХрд╛рд╕ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 100 рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдФрд░ рдХреНрд░рдорд┐рдХ рдЕрдкрдбреЗрдЯ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ 10 рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд╕реНрдЯреЙрдк рд╕реЗ тАЛтАЛрдЖрдкрдХреЛ рд╢рд╛рдВрддрд┐ рд╕реЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдЕрдкрдбреЗрдЯ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рд╕рдордп рдорд┐рд▓реЗрдЧрд╛ред
рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, Ansible рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрд░реНрдз-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╣реЛрд╕реНрдЯ рдЪрдХреНрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд┐рддрдиреЗ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЧрдПред рдЕрдиреНрд╕рд┐рдмрд▓ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд┐рдореБрд▓реЗрд╢рди рд░рди рдореЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд┐рдирд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддреЛ рдХреНрдпрд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрдВрдЧреЗред
рдЕрдиреБрдкрд╛рд▓рди рдЬрд╛рдВрдЪ
рдРрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИрдВ рдЬрд╣рд╛рдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддрднреА рдмрджрд▓рддрд╛ рд╣реИ рдЬрдм рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИред рдРрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдкреВрд░реНрд╡-рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ "рд╡рд┐рддрд░рдг рдХреЗ рд╕рд╛рде" рдирд┐рд░рдВрддрд░ рд╡рд┐рддрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
Ansible рдореЗрдВ рдПрдХ рд╕рд┐рдореБрд▓реЗрд╢рди рд░рди рдореЛрдб ("--check" рдзреНрд╡рдЬ рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд░рд┐рдп) рд╣реИ, рдЬрдм рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдЧрд╛, рдЗрд╕ рдкрд░ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╕рд┐рдореБрд▓реЗрд╢рди рд░рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рджреВрд╕рд░реА рдУрд░, рдирдИ рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдирд┐рд░рдВрддрд░ рддреИрдирд╛рддреА рдХреЗ рд╕рд╛рде рднреА, Ansible рдЖрдкрдХреЛ рдЙрд╕ рдХреНрд╖рдг рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд╛рд░ рдХрдиреНрдлрд░реНрдореЗрдВрд╕ рдЪреЗрдХ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рдорд╛рдирд╡ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдВрд╕рд┐рдкрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдХрд░ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдг, рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдВ, рдЖрджрд┐ред
рдСрдЯреЛрдкрд╛рдпрд▓рдЯ рдХреА рддреИрдирд╛рддреА
рдпрджрд┐ рдЖрдк рд╢реВрдиреНрдп рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрдкрдбреЗрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ CI / CD рдСрдкрд░реЗрдЯрд░реЛрдВ (рджреЛрдиреЛрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдФрд░ рдЖрдВрд╢рд┐рдХ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде) рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдПрдХ рдЧреЛрд▓ рдиреГрддреНрдп рдореЗрдВ, рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рд╕рдордиреНрд╡рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВред рдЕрдкрдиреА рдЕрджреНрд╡рд┐рддреАрдп рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рд▓рдХреНрд╖реНрдп рдореЗрдЬрдмрд╛рдиреЛрдВ рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде-рд╕рд╛рде (рдмрдврд╝рддреА рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрдЯрд┐рд▓ рддреИрдирд╛рддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдпрд╣рд╛рдВ рдкреВрд░реНрдг рдСрдЯреЛрдкрд╛рдпрд▓рдЯ рдореЛрдб рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
Ansible рд╕реНрд╡рдЪрд╛рд▓рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг
GitHub рдкрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдм рд╣рдо рдПрдХ рдЖрдзрд╛рд░ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдПрдХ Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдЬрд╛рдП рдЬреЛ Ansible рдпрд╛ Ansible рдЯреЙрд╡рд░ рдореЗрдВ рдЪрд▓рд╛рдИ рдЬрд╛ рд╕рдХреЗред
рдореЙрдбреНрдпреВрд▓ рдФрд░
рдЕрдиреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдПрдХ
рд╕реВрдЪреА рдХреЗ рд╕рд╛рде
, рд╡рд╣ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЦреБрдж рдХреА Playbooks рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред
рдПрдХ рдкреНрд▓реЗрдмреБрдХ рдХреНрдпрд╛ рд╣реИ?
рдПрдХ рдкреНрд▓реЗрдмреБрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдирд╛рдЯрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХрд▓ рджреВрд░рд╕реНрде рд╣реЛрд╕реНрдЯ рдпрд╛ рд╣реЛрд╕реНрдЯ рдХреЗ рд╕рдореВрд╣ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ IKEA рдлрд░реНрдиреАрдЪрд░ рдЕрд╕реЗрдВрдмрд▓реА рдЧрд╛рдЗрдб рдХреА рддрд░рд╣ рд╣реИ: рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдареАрдХ рд╕реЗ рдкрд╛рд▓рди рдХрд░реЗрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣реА рджреЗрдЦреЗрдВ рдЬреЛ рдЖрдкрдиреЗ рд╕реНрдЯреЛрд░ рдореЗрдВ рджреЗрдЦрд╛ рдерд╛ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ
рдореЙрдбреНрдпреВрд▓ (рдореЙрдбреНрдпреВрд▓)
рд╣рдо рдПрдХ рдкреНрд▓реЗрдмреБрдХ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ RHEL / CentOS 7 рд╣реЛрд╕реНрдЯ рдкрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрд╕ рдкрд░ рдПрдХ index.html рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдЧрд╛ред рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдирдореВрдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рдЪрд╛рд▓рди рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдиреАрдЪреЗ рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдПрдВрдЧреЗред
рд▓реЗрдЦрдХ (рд▓реЗрдЦрдХ)
рд▓реЗрдЦрдХ рд╡рд╣ рд╡реНрдпрдХреНрддрд┐ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдРрд╕реЗ рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдХреНрд╕рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде: рддрд░реНрдХ, рд╕реНрдерд╛рди рдЖрджрд┐)ред рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЙрд╕ рд▓рдХреНрд╖реНрдп рд╣реЛрд╕реНрдЯ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡реЗ Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ (рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓тАЩ'рдФрд░ рдЕрдиреНрдп рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред рдореЙрдбреНрдпреВрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЗрдЬрдмрд╛рди рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ (рдпрд╛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ), рдЬреЛ рдХрд┐ рдЖрдВрд╕рд┐рдмрд▓ рдФрд░ рдЯреЙрд╡рд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреНрд▓реЗрдмреБрдХ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬреЛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреБрдЫ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддреА рд╣реИред рдЕрдкрдиреА Playbook рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:
1. рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА (рд▓рдХреНрд╖реНрдп)рдХреНрдпреЛрдВрдХрд┐ Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП Ansible рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ Playbooks рдирд┐рд░реНрджреЗрд╢ рдпрд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рддрд░рд╣ рд╣реИрдВ: рдЖрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрддреНрд╡реЛрдВ рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХрд╛рд░реНрдп рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдЖрдкрдХреЛ рдЦреБрдж рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдкреНрд▓реЗрдмреБрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рди рдХреЗ рд▓рдХреНрд╖реНрдп рд╣реЛрд╕реНрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
2. рдХрд╛рд░реНрдпрдпрджрд┐ рдЖрдкрдХреЛ Playbook рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рд╕реЗрд╡рд╛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдирд╛рдо рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ Playbook рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд▓рдХреНрд╖реНрдп рд╣реЛрд╕реНрдЯ рдкрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рднреА рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╕реНрддрд░ рдкрд░, рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рд╛рд░ред рдЙрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрд╕реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рддрд░реНрдХ рдХреА рд╢рд░реНрддреЛрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЛрдИ рд╢рд╛рдЦрд╛рдПрдВ рд╣реИрдВ? рдпрджрд┐ рдХреЛрдИ рдЪрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдФрд░ рдХреНрдпреЛрдВ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдПред
Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрджрд╛рд╣рд░рдгрдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрджрд╛рд╣рд░рдг рдЖрдкрдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдкрдиреЗ рдЕрднреА рдХреНрдпрд╛ рдкрдврд╝рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЯрд╛рд░рдЧреЗрдЯ рд╣реЛрд╕реНрдЯ RHEL / CentOS 7 рд╕рд░реНрд╡рд░ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ NGINX рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ webroot рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ index.html рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИред , -.
*: Playbook Ansible Tower inventory .Playbooks YAML (---), :
Name : , Playbook.
Hosts : , Ansible.
Become : , , nginx ( ).
1 --- 2 - name: Install nginx 3 hosts: host.name.ip 4 become: true
рдкрд┐рдЫрд▓реА рддреАрди рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде,
рдХрд╛рд░реНрдп рд╣реИрдВ : рдирд┐рд░реНрджреЗрд╢, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж, рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрдВрдбреЗрдВрдЯреЗрд╢рди (YAML рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдХреЗ рд╕рд╛рде, рдХрд╛рд░реНрдп рд╕реВрдЪреАрдмрджреНрдз рд╣реЛрддреЗ рд╣реИрдВ (рдирд╛рдЯрдХ)ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдХрд╛рд░реНрдп рд╣реИрдВ, рдФрд░ рджреЛрдиреЛрдВ рдпрдо рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдп рдПрдХ рдПрдкрд▓-рд░рд┐рд▓реАрдЬрд╝ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЬреЛрдбрд╝рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдирд╛рдЬрд╝рд┐рдирдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХреЗрдВред рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдкреАрдПрд▓ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдХреЗ рдмрд╛рдж, рджреВрд╕рд░рд╛ рдХрд╛рд░реНрдп рдирдЧреАрди рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
рд░рд╛рдЬреНрдп : рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдЖрдЧреЗ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, Ansible рдХреЛ рд▓рдХреНрд╖реНрдп рд╣реЛрд╕реНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрдЬрдмрд╛рди рдкрд░ рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдпрд╛ рдиреЗрдЧреНрдиреЗрдХреНрд╕ рд╣реИ, рддреЛ рдПрдВрд╕реЗрдмрд▓ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдЗрди рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИред
1 tasks: 2 - name: Add epel-release repo 3 yum: 4 name: epel-release 5 state: present 6 7 - name: Install nginx 8 yum: 9 name: nginx 10 state: present
рдбрд╛рдЙрдирд▓реЛрдб рдкреЗрдЬ, рдЬреЛ рдХрд┐ nginx рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ nginx рдиреЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╢рд╛рдпрдж рдЕрдкрдиреА рдкреНрд░рд╛рд░рдВрдн HTML рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╕реВрдЪрдХрд╛рдВрдХ рдлрд╝рд╛рдЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд▓реЗрдмреБрдХ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЧрдВрддрд╡реНрдп рдиреЕрдиреЗрдХреНрд╕ рдореЗрдВ рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрде рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рд╕рд╛рдЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рд╣реИред
1 - name: Insert Index Page 2 template: 3 src: index.html 4 dest: /usr/share/nginx/html/index.html
рд╣рдорд╛рд░реА Playbook рдореЗрдВ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЗрд╡рд▓ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИ рдХрд┐ nginx рд╕реЗрд╡рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╢реБрд░реВ рдХреА рдЧрдИ рд╣реИ (рдпрд╛ рдпрджрд┐ рдирд╣реАрдВ рддреЛ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
1 - name: Start NGiNX 2 service: 3 name: nginx 4 state: started
рд╕рдВрдкреВрд░реНрдг Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЙрджреНрдШрд╛рдЯрди рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереА:
1 --- 2 - name: Install nginx 3 hosts: host.name.ip 4 become: true 5 6 tasks: 7 - name: Add epel-release repo 8 yum: 9 name: epel-release 10 state: present 11 12 - name: Install nginx 13 yum: 14 name: nginx 15 state: present 16 17 - name: Insert Index Page 18 template: 19 src: index.html 20 dest: /usr/share/nginx/html/index.html 21 22 - name: Start NGiNX 23 service: 24 name: nginx 25 state: started
рд╕рд╛рд░рд╛рдВрд╢
рдкреНрд▓реЗрдмреБрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдЫреЛрдЯреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рдореЙрдбреНрдпреВрд▓ - рдпрдо, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдФрд░ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд╕реНрдерд╛рдиреАрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдлрд┐рд░ рдЙрд╕ рд╕реЗрд╡рд╛ рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЕрднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрд╕реА рд╕рдордп, рд╣рдорд╛рд░реА Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝реА рд▓рдВрдмреА рд╣реЛ рдЧрдИ! рдФрд░ рдпрджреНрдпрдкрд┐ рд╣рдордиреЗ рдЗрд╕реЗ рдПрдХ рд╣реЛрд╕реНрдЯ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рджрд░реНрдЬрдиреЛрдВ рдФрд░ рд╕реИрдХрдбрд╝реЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рднреА рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЗрд╕реЗ рдмрд╣реБрдд рдЫреЛрдЯреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреЙрд╡рд░ рдЖрдкрдХреЛ AWS рдХреНрд▓рд╛рдЙрдб рдпрд╛ рдХрд┐рд╕реА рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдХреНрд╖реЗрддреНрд░ рдХреЗрдВрджреНрд░ рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдореВрд╣ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдПрдХ Playbook рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рд▓рдиреЗ рджреЗрддрд╛ рд╣реИред
рдЬреЗрдиреЗрдХрд┐рдВрд╕ рдХреА рддрд░рд╣, Ansible рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ CI рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рди рдХреЗрд╡рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЖрдИрдЯреА рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╢реНрд░реЗрдгреА рднреА рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдкреНрдпрд╛рд░ рд╕реЗ Ansible рдХреЛ рдПрдХ рдПрдХреАрдХреГрдд рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХрд╣рддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдгред