рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рд╣рд╛ рдЙрддрд╛рд░рд╛ рдЖрд╣реЗ рдХрд╛рдордЧрд┐рд░реА рд╡рд░ DevOps-40 2020-03-18:

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

рд╡рд╛рд░рд╕рд╛ рдЬрдиреНрдо

рджрд┐рд╡рд╕ #1: рдкреЗрд╢рдВрдЯ рд╢реВрдиреНрдп

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рдПрдХреЗрдХрд╛рд│реА рд╕рд╢рд░реНрдд рдкреНрд░рдХрд▓реНрдк рд╣реЛрддрд╛. рддреНрдпрд╛рдд рджреЗрд╡ рд╡рд┐рдХрд╛рд╕ рд╕рдВрдШ рдЖрдгрд┐ рдСрдкреНрд╕ рдЕрднрд┐рдпрдВрддреЗ рд╣реЛрддреЗ. рддреЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдд рд╣реЛрддреЗ: рд╕рд░реНрд╡реНрд╣рд░ рдХрд╕рд╛ рддреИрдирд╛рдд рдХрд░рд╛рдпрдЪрд╛ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╕рд╛ рдЪрд╛рд▓рд╡рд╛рдпрдЪрд╛. рд╕рдорд╕реНрдпрд╛ рдЕрд╢реА рд╣реЛрддреА рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдШрд╛рдиреЗ рдЖрдкрд╛рдкрд▓реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реА. рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ, рджреЗрд╡ рдЖрдгрд┐ рдСрдкреНрд╕ рдЯреАрдореНрд╕рдордзреАрд▓ рдЬреНрдЮрд╛рди рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Ansible рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛.

рджрд┐рд╡рд╕ #89: рд╡рд╛рд░рд╢рд╛рдЪрд╛ рдЬрдиреНрдо

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рддреЗ рд╕реНрд╡рддрдГ рд▓рдХреНрд╖рд╛рдд рди рдШреЗрддрд╛, рддреНрдпрд╛рдВрдирд╛ рддреЗ рд╢рдХреНрдп рддрд┐рддрдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдХрд░рд╛рдпрдЪреЗ рд╣реЛрддреЗ, рдкрд░рдВрддреБ рддреЗ рд╡рд╛рд░рд╕рд╛ рдард░рд▓реЗ. рд╣реЗ рдХрд╕реЗ рдШрдбрддреЗ?

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

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

- hosts: localhost
  tasks:
    - shell: echo -n Z >> a.txt && cat a.txt
      register: output
      delay: 1
      retries: 5
      until: not output.stdout.find("ZZZ")

рджрд┐рд╡рд╕ #109: рд╕рдорд╕реНрдпреЗрдЪреА рдЬрд╛рдгреАрд╡

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рд╕рдВрдХрд▓реНрдкрд┐рдд рдЖрдгрд┐ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реЗрд▓реЗ IaC рдореЙрдбреЗрд▓ рдпрд╛рдкреБрдвреЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ/рд╡реНрдпрд╡рд╕рд╛рдп/рдЗрддрд░ рд╕рдВрдШрд╛рдВрдЪреНрдпрд╛ рдЧрд░рдЬрд╛ рдкреВрд░реНрдг рдХрд░рдд рдирд╛рд╣реА рдЖрдгрд┐ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд░рд╛рд╣рд┐рд▓реА рдирд╛рд╣реА. рдпрд╛ рдХреНрд╖рдгреА, рд╕рдордЬ рдпреЗрддреЗ рдХреА рдХрд╛рд░рд╡рд╛рдИ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ.

IaC рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ

рджрд┐рд╡рд╕ #139: рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд░реЛрдЦрд░ рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧрдЪреА рдЧрд░рдЬ рдЖрд╣реЗ рдХрд╛?

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рд░рд┐рдлреЕрдХреНрдЯрд░рдХрдбреЗ рдЬрд╛рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдиреЗрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  1. рддреБрд▓рд╛ рдпрд╛ рд╕рдЧрд│реНрдпрд╛рдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ?
  2. рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╡реЗрд│ рдЖрд╣реЗ рдХрд╛?
  3. рдЬреНрдЮрд╛рди рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ рдХрд╛?

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

рджрд┐рд╡рд╕ #149: рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рддрдпрд╛рд░ рдХрд░рдгреЗ

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдкреНрд░рдпрддреНрди

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

рджрд┐рд╡рд╕ рдХреНрд░рдорд╛рдВрдХ -997: SDS рддрд░рддреВрдж

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рдореА рдкреНрд░рдердордЪ Ansible рдЪреА рдЪрд╛рдЪрдгреА SDS (рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдбрд┐рдлрд╛рдЗрдиреНрдб рд╕реНрдЯреЛрд░реЗрдЬ) рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░ рдХреЗрд▓реА рд╣реЛрддреА. рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд▓реЗрдЦ рдЖрд╣реЗ
рддреБрдордЪреНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рдЪреА рдЪрд╛рдЪрдгреА рдХрд░рддрд╛рдирд╛ рдХреНрд░реЕрдЪрд╡рд░ рд╕рд╛рдпрдХрд▓реА рдХрд╢рд╛ рдлреЛрдбрд╛рдпрдЪреНрдпрд╛, рдкрд░рдВрддреБ рдереЛрдбрдХреНрдпрд╛рдд, рдЖрдореНрд╣реА рдПрдХрд╛ рдЙрд▓рдЯреНрдпрд╛ рдЪрд╛рдЪрдгреА рдкрд┐рд░реЕрдорд┐рдбрд╕рд╣ рд╕рдВрдкрд▓реЛ рдЖрдгрд┐ рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рдЖрдореНрд╣реА рдПрдХрд╛ рднреВрдорд┐рдХреЗрд╕рд╛рдареА 60-90 рдорд┐рдирд┐рдЯреЗ рдШрд╛рд▓рд╡рд▓реА, рдЬреЛ рдмрд░рд╛рдЪ рдХрд╛рд│ рдЖрд╣реЗ. рдЖрдзрд╛рд░ e2e рдЪрд╛рдЪрдгреНрдпрд╛ рд╣реЛрддреНрдпрд╛, рдореНрд╣рдгрдЬреЗ. рдЖрдореНрд╣реА рдкреВрд░реНрдг рд╡рд╛рдвреАрд╡ рд╕реНрдерд╛рдкрдирд╛ рддреИрдирд╛рдд рдХреЗрд▓реА рдЖрдгрд┐ рдирдВрддрд░ рддреНрдпрд╛рдЪреА рдЪрд╛рдЪрдгреА рдХреЗрд▓реА. рддреНрдпрд╛рд╣реВрдирд╣реА рддреНрд░рд╛рд╕рджрд╛рдпрдХ рдмрд╛рдм рдореНрд╣рдгрдЬреЗ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рд╕рд╛рдпрдХрд▓рдЪрд╛ рд╢реЛрдз. рдкрд░рдВрддреБ рдореА рдХрдмреВрд▓ рдХреЗрд▓реЗрдЪ рдкрд╛рд╣рд┐рдЬреЗ рдХреА рдпрд╛ рд╕рдорд╛рдзрд╛рдирд╛рдиреЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдЖрдгрд┐ рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд╢рдирд╛рд╕рд╛рдареА рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА.

рджрд┐рд╡рд╕ # -701: рдЙрддреНрддрд░рджрд╛рдпреА рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рд╕реНрд╡рдпрдВрдкрд╛рдХрдШрд░

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд▓реНрдкрдиреЗрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рдореНрд╣рдгрдЬреЗ рддрдпрд╛рд░ рд╕рд╛рдзрдирд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреЗ, рдореНрд╣рдгрдЬреЗ рдХрд┐рдЪрди/рдХрд┐рдЪрди-рд╕реАрдЖрдп рдЖрдгрд┐ рддрдкрд╛рд╕рдгреА. рд░реБрдмреАрдЪреНрдпрд╛ рдЬреНрдЮрд╛рдирд╛рдиреЗ рдирд┐рд╡рдб рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА (рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА, рд╣рд╛рдмреНрд░реЗрд╡рд░реАрд▓ рд▓реЗрдЦ рдкрд╣рд╛: YML рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд░рдгреНрдпрд╛рдЪреЗ рд╕реНрд╡рдкреНрди рдкрд╛рд╣рддрд╛рдд рдХрд╛?) рдЬрд▓рдж рдХрд╛рдо рдХреЗрд▓реЗ, рд╕реБрдорд╛рд░реЗ 40 рдорд┐рдирд┐рдЯреЗ 10 рднреВрдорд┐рдХрд╛рдВрд╕рд╛рдареА. рдЖрдореНрд╣реА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдЪрд╛ рдПрдХ рдкреЕрдХ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЖрдгрд┐ рдЖрдд рдЪрд╛рдЪрдгреНрдпрд╛ рдХреЗрд▓реНрдпрд╛.

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рд╕рдорд╛рдзрд╛рдирд╛рдиреЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ, рдкрд░рдВрддреБ рд╡рд┐рд╖рдорддреЗрдореБрд│реЗ рдХрд╛рд╣реА рдЧрд╛рд│ рд╣реЛрддрд╛. рдЬреЗрд╡реНрд╣рд╛ рдЪрд╛рдЪрдгреА рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓реЛрдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ 13 рдореВрд▓рднреВрдд рднреВрдорд┐рдХрд╛ рдЖрдгрд┐ 2 рдореЗрдЯрд╛ рднреВрдорд┐рдХрд╛рдВрдкрд░реНрдпрдВрдд рд╡рд╛рдврд╡рд▓реА рдЧреЗрд▓реА рдЖрдгрд┐ рд▓рд╣рд╛рди рднреВрдорд┐рдХрд╛ рдПрдХрддреНрд░ рдХреЗрд▓реНрдпрд╛, рддреЗрд╡реНрд╣рд╛ рдЕрдЪрд╛рдирдХ рдЪрд╛рдЪрдгреНрдпрд╛ 70 рдорд┐рдирд┐рдЯрд╛рдВрд╕рд╛рдареА рдЪрд╛рд▓реВ рдЭрд╛рд▓реНрдпрд╛, рдЬреЗ рдЬрд╡рд│рдЬрд╡рд│ 2 рдкрдЯ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ. XP (рдЕрддреНрдпрдВрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ) рдкрджреНрдзрддреАрдВрдмрджреНрджрд▓ рдмреЛрд▓рдгреЗ рдХрдареАрдг рд╣реЛрддреЗ рдХрд╛рд░рдг... рдХреЛрдгреАрд╣реА 70 рдорд┐рдирд┐рдЯреЗ рдерд╛рдВрдмреВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА. рджреГрд╖реНрдЯреАрдХреЛрди рдмрджрд▓рдгреНрдпрд╛рдЪреЗ рд╣реЗ рдХрд╛рд░рдг рд╣реЛрддреЗ

рджрд┐рд╡рд╕ # -601: рдЙрддреНрддрд░рджрд╛рдпреА рдЖрдгрд┐ рд░реЗрдгреВ

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рд╡реИрдЪрд╛рд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рд╣реЗ рдЯреЗрд╕реНрдЯрдХрд┐рдЪреЗрдирд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ, рдлрдХреНрдд рдЖрдореНрд╣реА рд░реЛрд▓ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдбреЙрдХрд░рдордзреНрдпреЗ рд╣рд▓рд╡рд▓реЗ рдЖрдгрд┐ рд╕реНрдЯреЕрдХ рдмрджрд▓рд▓рд╛. рдкрд░рд┐рдгрд╛рдореА, 20 рднреВрдорд┐рдХрд╛рдВрд╕рд╛рдареА рд╡реЗрд│ рд╕реНрдерд┐рд░ 25-7 рдорд┐рдирд┐рдЯрд╛рдВрдкрд░реНрдпрдВрдд рдХрдореА рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛.

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рдЪрд╛рдЪрдгреА рдХреЗрд▓реЗрд▓реНрдпрд╛ рднреВрдорд┐рдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ 17 рдкрд░реНрдпрдВрдд рд╡рд╛рдврд╡реВрди рдЖрдгрд┐ 45 рднреВрдорд┐рдХрд╛рдВрджреНрд╡рд╛рд░реЗ, рдЖрдореНрд╣реА 28 рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕реНрд▓реЗрд╡реНрд╣рд╡рд░ 2 рдорд┐рдирд┐рдЯрд╛рдВрдд рд╣реЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ.

рджрд┐рд╡рд╕ #167: рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреНрдпрд╛ рдЬреЛрдбрдгреЗ

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рд╕реЛрдкреЗ рдЖрд╣реЗ:

  • рдЦрд╛.
  • рдЭреЛрдк
  • рдХреЛрдб
  • IaC рдЪрд╛рдЪрдгреА.
  • рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рд╛

рдЖрдгрд┐ рдЖрдореНрд╣реА рдЕрдкреЗрдХреНрд╖рд┐рдд рдзреНрдпреЗрдп рдЧрд╛рдареЗрдкрд░реНрдпрдВрдд рдпрд╛рдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рддреЛ.

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рд▓рдЧреЗрдЪрдЪ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрдЪреА рдЪрд╛рдЪрдгреА рд╕реБрд░реВ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдЖрдордЪреЗ рдкрд╣рд┐рд▓реЗ рдХрд╛рд░реНрдп рд▓рд┐рдВрдЯрд┐рдВрдЧ рдЖрдгрд┐ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рддрдкрд╛рд╕рдгреЗ рд╣реЗ рд╣реЛрддреЗ.

рджрд┐рд╡рд╕ #181: рдЧреНрд░реАрди рдмрд┐рд▓реНрдб рдорд╛рд╕реНрдЯрд░

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

  • рд▓рд╛рд▓ рдЪрд╛рдЪрдгреНрдпрд╛ рд╡рд╛рдИрдЯ рдЖрд╣реЗрдд.
  • рдореА рдХрд╛рд╣реАрддрд░реА рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд▓реЛ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдХреЛрдб рддреБрдордЪреНрдпрд╛ рдЖрдзреА рд╣реЛрддрд╛ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдереЛрдбрд╛ рдЪрд╛рдВрдЧрд▓рд╛ рдмрдирд╡рддреЛ.

рджрд┐рд╡рд╕ #193: рд▓рд┐рдВрдЯрд┐рдВрдЧрдкрд╛рд╕реВрди рдпреБрдирд┐рдЯ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдкрд░реНрдпрдВрдд

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

рджрд┐рд╡рд╕ #211: рдпреБрдирд┐рдЯ рддреЗ рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рдЪрд╛рдЪрдгреНрдпрд╛

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рдЬреЗрдирдХрд┐рдиреНрд╕ рд╡рд╛рдкрд░реВрди, рдЖрдореНрд╣реА рд╕рдорд╛рдВрддрд░ рднреВрдорд┐рдХрд╛/рдкреНрд▓реЗрдмреБрдХреНрд╕, рдирдВрддрд░ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдпреБрдирд┐рдЯ рдЪрд╛рдЪрдгреНрдпрд╛ рдЖрдгрд┐ рд╢реЗрд╡рдЯреА рдПрдХрддреНрд░реАрдХрд░рдг рдЪрд╛рдЪрдгреНрдпрд╛ рдХрд░рдгрд╛рд░реЗ рдЕрдиреЗрдХ рдЯрдкреНрдкреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗ.

рдЬреЗрдирдХрд┐рдиреНрд╕ + рдбреЙрдХрд░ + рдЙрддреНрддрд░рджрд╛рдпреА = рдЪрд╛рдЪрдгреНрдпрд╛

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

  1. рд░реЗрдкреЛ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рд╛ рдЖрдгрд┐ рдмрд┐рд▓реНрдб рдЯрдкреНрдкреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рд╛.
  2. рд▓рд┐рдВрдЯ рдкреНрд▓реЗрдмреБрдХрдЪреЗ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
  3. рд▓рд┐рдВрдЯ рд░реЛрд▓ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
  4. рд╕рд┐рдВрдЯреЕрдХреНрд╕ рдЪреЗрдХ рд░реЛрд▓ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
  5. рдЪрд╛рдЪрдгреА рднреВрдорд┐рдХрд╛ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
    1. рд▓рд┐рдВрдЯ рднреВрдорд┐рдХрд╛.
    2. рдЗрддрд░ рднреВрдорд┐рдХрд╛рдВрд╡рд░реАрд▓ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рд╛.
    3. рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рддрдкрд╛рд╕рд╛.
    4. рдбреЙрдХрд░ рдЙрджрд╛рд╣рд░рдг рддрдпрд╛рд░ рдХрд░рд╛
    5. molecule/default/playbook.yml рдЪрд╛рд▓рд╡рд╛.
    6. рдЕрд╢рдХреНрддрдкрдгрд╛ рддрдкрд╛рд╕рд╛.
  6. рдПрдХреАрдХрд░рдг рдЪрд╛рдЪрдгреНрдпрд╛ рдЪрд╛рд▓рд╡рд╛
  7. рд╕рдорд╛рдкреНрдд

рджрд┐рд╡рд╕ #реиренрез: рдмрд╕ рдлреЕрдХреНрдЯрд░

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рджреЛрди рдХрд┐рдВрд╡рд╛ рддреАрди рд▓реЛрдХрд╛рдВрдЪреНрдпрд╛ рд▓рд╣рд╛рди рдЧрдЯрд╛рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рдд рдЕрд╕реЗ. рддреНрдпрд╛рдВрдиреА рдорд╛рд╕реНрдЯрд░рдордзреАрд▓ рдХреЛрдбрдЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХреЗрд▓реЗ. рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ, рд╕рдВрдШрд╛рдиреЗ рдХреЛрдб рдХрд╕реЗ рд▓рд┐рд╣рд╛рд╡реЗ рдпрд╛рдЪреЗ рдЬреНрдЮрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрдгрд┐ рдХреЛрдб рдкреБрдирд░рд╛рд╡рд▓реЛрдХрдирд╛рдореБрд│реЗ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдмрджреНрджрд▓ рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдмрджреНрджрд▓ рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рдкреНрд░рд╕рд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рд╣рд╛рддрднрд╛рд░ рд▓рд╛рдЧрд▓рд╛. рдпреЗрдереЗ рдард│рдХ рдЧреЛрд╖реНрдЯ рдЕрд╢реА рд╣реЛрддреА рдХреА рд╕рдореАрдХреНрд╖рдХрд╛рдВрдЪреА рдирд┐рд╡рдб рдПрдХрд╛ рд╢реЗрдбреНрдпреВрд▓рдиреБрд╕рд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА, рдореНрд╣рдгрдЬреЗ. рдХрд╛рд╣реА рдкреНрд░рдорд╛рдгрд╛рдд рд╕рдВрднрд╛рд╡реНрдпрддреЗрд╕рд╣ рддреБрдореНрд╣реА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреНрдпрд╛ рдирд╡реАрди рддреБрдХрдбреНрдпрд╛рдд рдЬрд╛рд▓.

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рдЖрдгрд┐ рддреЗ рдпреЗрдереЗ рдЖрд░рд╛рдорджрд╛рдпрдХ рдЕрд╕рд╛рд╡реЗ. рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХрд░рдгреЗ, рддреЗ рдХреЛрдгрддреЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ рдЪрд░реНрдЪреЗрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдкрд╣рд╛рдгреЗ рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдЬреЗрдирдХрд┐рдиреНрд╕ + рдмрд┐рдЯрдмрдХреЗрдЯ + рдЬрд┐рд░рд╛ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.

рдкрд░рдВрддреБ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рд╣рд╛ рд░рд╛рдордмрд╛рдг рдЙрдкрд╛рдп рдирд╛рд╣реА, рдЖрдореНрд╣реА рдорд╛рд╕реНрдЯрд░ рдХреЛрдбрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛, рдЬреНрдпрд╛рдореБрд│реЗ рдЖрдордЪреНрдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛ рдлреНрд▓реЙрдк рдЭрд╛рд▓реНрдпрд╛:

- get_url:
    url: "{{ actk_certs }}/{{ item.1 }}"
    dest: "{{ actk_src_tmp }}/"
    username: "{{ actk_mvn_user }}"
    password: "{{ actk_mvn_pass }}"
  with_subelements:
    - "{{ actk_cert_list }}"
    - "{{ actk_certs }}"
  delegate_to: localhost

- copy:
    src: "{{ actk_src_tmp }}/{{ item.1 }}"
    dest: "{{ actk_dst_tmp }}"
  with_subelements:
    - "{{ actk_cert_list }}"
    - "{{ actk_certs }}"

рдордЧ рддреНрдпрд╛рдВрдиреА рддреЗ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реЗ, рдкрд░рдВрддреБ рдЕрд╡рд╢реЗрд╖ рд░рд╛рд╣рд┐рд▓реЗ.

get_url:
    url: "{{ actk_certs }}/{{ actk_item }}"
    dest: "{{ actk_src_tmp }}/{{ actk_item }}"
    username: "{{ actk_mvn_user }}"
    password: "{{ actk_mvn_pass }}"
  loop_control:
    loop_var: actk_item
  with_items: "{{ actk_cert_list }}"
  delegate_to: localhost

- copy:
    src: "{{ actk_src_tmp }}/{{ actk_item }}"
    dest: "{{ actk_dst_tmp }}"
  loop_control:
    loop_var: actk_item
  with_items: "{{ actk_cert_list }}"

рджрд┐рд╡рд╕ #311: рдЪрд╛рдЪрдгреНрдпрд╛рдВрдирд╛ рдЧрддреА рджреЗрдгреЗ

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рдХрд╛рдЯреЗрдХреЛрд░рдкрдгреЗ рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рддрд░, рдЙрдкрд╛рдпрд╛рдВрдЪрд╛ рдПрдХ рд╕рдВрдЪ рд╣реЛрддрд╛:

  1. рдбреЙрдХрд░рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рд╛.
  2. рднреВрдорд┐рдХрд╛ рдЪрд╛рдЪрдгреА рдХрд╛рдвреВрди рдЯрд╛рдХрд╛, рдЬреА рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдВрдореБрд│реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЭрд╛рд▓реА рдЖрд╣реЗ.
  3. рдЧреБрд▓рд╛рдорд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдврд╡рд╛.
  4. рдЪрд╛рдЪрдгреА рд░рди рдСрд░реНрдбрд░.
  5. рд▓рд┐рдВрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд╕рд░реНрд╡ рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдПрдХрд╛ рдЖрджреЗрд╢рд╛рдиреЗ.

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рддреНрдпрд╛рдореБрд│реЗ рдЬреЗрдирдХрд┐рдиреНрд╕рд╡рд░реАрд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╣реА рдПрдХрд░реВрдк рдЭрд╛рд▓реА

  1. рдмрд┐рд▓реНрдб рдЯрдкреНрдкреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рд╛.
  2. рд▓рд┐рдВрдЯ рд╕рд░реНрд╡ рд╕рдорд╛рдВрддрд░.
  3. рдЪрд╛рдЪрдгреА рднреВрдорд┐рдХрд╛ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
  4. рд╕рдорд╛рдкреНрдд.

рд╢рд┐рдХрд▓реЗрд▓реЗ рдзрдбреЗ

рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЯрд╛рд│рд╛

рдЙрддреНрддрд░рджрд╛рдпреА рдЬрд╛рдЧрддрд┐рдХ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреЗ, рдлреЙрд░реНрдордордзреНрдпреЗ рдЖрдВрд╢рд┐рдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЖрд╣реЗ рдЦрд╛рдЬрдЧреА_рднреВрдорд┐рдХрд╛_рд╡рд╛рд░, рдкрдг рд╣рд╛ рд░рд╛рдордмрд╛рдг рдЙрдкрд╛рдп рдирд╛рд╣реА.

рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЛ. рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реВ рджреНрдпрд╛ role_a ╨╕ role_b

# cat role_a/defaults/main.yml
---
msg: a

# cat role_a/tasks/main.yml
---
- debug:
    msg: role_a={{ msg }}

# cat role_b/defaults/main.yml
---
msg: b

# cat role_b/tasks/main.yml
---
- set_fact:
    msg: b
- debug:
    msg: role_b={{ msg }}

- hosts: localhost
  vars:
    msg: hello
  roles:
    - role: role_a
    - role: role_b
  tasks:
    - debug:
        msg: play={{msg}}

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

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

рд╡рд╛рдИрдЯ: рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░рд╛.

# cat roles/some_role/tasks/main.yml
---
debug:
  var: java_home

рдЪрд╛рдВрдЧрд▓реЗ: рд╡реНрд╣реА defaults рдЖрд╡рд╢реНрдпрдХ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рдирдВрддрд░ рдлрдХреНрдд рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рд╛.

# cat roles/some_role/defaults/main.yml
---
r__java_home:
 "{{ java_home | default('/path') }}"

# cat roles/some_role/tasks/main.yml
---
debug:
  var: r__java_home

рдЙрдкрд╕рд░реНрдЧ рднреВрдорд┐рдХрд╛ рдЪрд▓

рд╡рд╛рдИрдЯ: рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░рд╛.

# cat roles/some_role/defaults/main.yml
---
db_port: 5432

рдЪрд╛рдВрдЧрд▓реЗ: рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рд╕рд╛рдареА рд░реЛрд▓рдордзреНрдпреЗ, рд░реЛрд▓рдЪреНрдпрд╛ рдирд╛рд╡рд╛рд╕рд╣ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рд╛, рд╣реЗ, рдЗрдиреНрд╡реНрд╣реЗрдВрдЯрд░реА рдкрд╛рд╣реВрди, рдХрд╛рдп рд╣реЛрдд рдЖрд╣реЗ рд╣реЗ рд╕рдордЬрдгреЗ рд╕реЛрдкреЗ рд╣реЛрдИрд▓.

# cat roles/some_role/defaults/main.yml
---
some_role__db_port: 5432

рд▓реВрдк рдХрдВрдЯреНрд░реЛрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░рд╛

рд╡рд╛рдИрдЯ: рд▓реВрдкрдордзреНрдпреЗ рдорд╛рдирдХ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░рд╛ item, рд╣реЗ рдХрд╛рд░реНрдп/рдкреНрд▓реЗрдмреБрдХ рдХреБрдареЗрддрд░реА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдпрд╛рдореБрд│реЗ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╡рд░реНрддрди рд╣реЛрдК рд╢рдХрддреЗ

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item }}"
      loop:
        - item1
        - item2

рдЪрд╛рдВрдЧрд▓реЗ: рджреНрд╡рд╛рд░реЗ рд▓реВрдкрдордзреНрдпреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдкреБрдиреНрд╣рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рд╛ loop_var.

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item_name }}"
      loop:
        - item1
        - item2
      loop_control:
        loop_var: item_name

рдЗрдирдкреБрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рддрдкрд╛рд╕рд╛

рдЖрдореНрд╣реА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдЙрдкрд╕рд░реНрдЧ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕рд╣рдорддреА рджрд░реНрд╢рд╡рд┐рд▓реА рдЖрд╣реЗ рдХреА рддреЗ рдЖрдордЪреНрдпрд╛ рдЕрдкреЗрдХреНрд╖реЗрдкреНрд░рдорд╛рдгреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд░рд┐рдХреНрдд рдореВрд▓реНрдпрд╛рдиреЗ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд рд╣реЗ рддрдкрд╛рд╕рдгреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА;

рдЪрд╛рдВрдЧрд▓реЗ: рдЪрд▓ рддрдкрд╛рд╕рд╛.

- name: "Verify that required string variables are defined"
  assert:
    that: ahs_var is defined and ahs_var | length > 0 and ahs_var != None
    fail_msg: "{{ ahs_var }} needs to be set for the role to work "
    success_msg: "Required variables {{ ahs_var }} is defined"
  loop_control:
    loop_var: ahs_var
  with_items:
    - ahs_item1
    - ahs_item2
    - ahs_item3

рд╣реЕрд╢ рдбрд┐рдХреНрд╢рдирд░реА рдЯрд╛рд│рд╛, рд╕рдкрд╛рдЯ рд░рдЪрдирд╛ рд╡рд╛рдкрд░рд╛

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

рд╡рд╛рдИрдЯ: рд╣реЕрд╢/рд╢рдмреНрджрдХреЛрд╢ рд╡рд╛рдкрд░рд╛.

---
user:
  name: admin
  group: admin

рдЪрд╛рдВрдЧрд▓реЗ: рдлреНрд▓реЕрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд░рдЪрдирд╛ рд╡рд╛рдкрд░рд╛.

---
user_name: admin
user_group: "{{ user_name }}"

рдЕрд╢рдХреНрдд рдкреНрд▓реЗрдмреБрдХ рдЖрдгрд┐ рднреВрдорд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░рд╛

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

рдХрдорд╛рдВрдб рд╢реЗрд▓ рдореЙрдбреНрдпреВрд▓реНрд╕ рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛

рд╢реЗрд▓ рдореЙрдбреНрдпреБрд▓рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓реНрдпрд╛рдиреЗ рдШреЛрд╖рдгрд╛рддреНрдордХ рдРрд╡рдЬреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд╡рд░реНрдгрдирд╛рдЪрд╛ рдирдореБрдирд╛ рдпреЗрддреЛ, рдЬреЛ Ansible рдЪрд╛ рдЧрд╛рднрд╛ рдЖрд╣реЗ.

рд░реЗрдгреВрджреНрд╡рд╛рд░реЗ рддреБрдордЪреНрдпрд╛ рднреВрдорд┐рдХрд╛ рддрдкрд╛рд╕рд╛

рд░реЗрдгреВ рдПрдХ рдЕрддрд┐рд╢рдп рд▓рд╡рдЪрд┐рдХ рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ, рдЪрд▓рд╛ рдХрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреА рдкрд╛рд╣реВ.

рд░реЗрдгреВ рдЕрдиреЗрдХ рдЙрджрд╛рд╣рд░рдгреЗ

╨Т molecule.yml рд╡рд┐рднрд╛рдЧрд╛рдд platforms рддреБрдореНрд╣реА рдЕрдиреЗрдХ рд╣реЛрд╕реНрдЯрдЪреЗ рд╡рд░реНрдгрди рдХрд░реВ рд╢рдХрддрд╛ рдЬреЗ рддреБрдореНрд╣реА рддреИрдирд╛рдд рдХрд░реВ рд╢рдХрддрд╛.

---
    driver:
      name: docker
    platforms:
      - name: postgresql-instance
        hostname: postgresql-instance
        image: registry.example.com/postgres10:latest
        pre_build_image: true
        override_command: false
        network_mode: host
      - name: app-instance
        hostname: app-instance
        pre_build_image: true
        image: registry.example.com/docker_centos_ansible_tests
        network_mode: host

рддреНрдпрд╛рдиреБрд╕рд╛рд░, рд╣реЗ рдпрдЬрдорд╛рди рдирдВрддрд░ рдЕрд╕реВ рд╢рдХрддрд╛рдд converge.yml рд╡рд╛рдкрд░рд╛:

---
- name: Converge all
  hosts: all
  vars:
    ansible_user: root
  roles:
    - role: some_role

- name: Converge db
  hosts: db-instance
  roles:
    - role: some_db_role

- name: Converge app
  hosts: app-instance
  roles:
    - role: some_app_role

рдЙрддреНрддрд░рджрд╛рдпреА рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛

рд░реЗрдгреВрдордзреНрдпреЗ рдЙрджрд╛рд╣рд░рдг рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рд╣реЗ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЙрддреНрддрд░рджрд╛рдпреА рд╡рд╛рдкрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, рд╢рд┐рд╡рд╛рдп, рд░рд┐рд▓реАрдЬ 3 рдкрд╛рд╕реВрди рд╣реЗ рдбреАрдлреЙрд▓реНрдЯ рдЖрд╣реЗ. рд╣реЗ testinfra/inspec рд╕рд╛рд░рдЦреЗ рд▓рд╡рдЪрд┐рдХ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рддрдкрд╛рд╕реВ рд╢рдХрддреЛ рдХреА рдлрд╛рдЗрд▓рдордзреАрд▓ рд╕рд╛рдордЧреНрд░реА рдЖрдордЪреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛рдВрд╢реА рдЬреБрд│рддреЗ:

---
- name: Verify
  hosts: all
  tasks:
    - name: copy config
      copy:
        src: expected_standalone.conf
        dest: /root/wildfly/bin/standalone.conf
        mode: "0644"
        owner: root
        group: root
      register: config_copy_result

    - name: Certify that standalone.conf changed
      assert:
        that: not config_copy_result.changed

рдХрд┐рдВрд╡рд╛ рд╕реЗрд╡рд╛ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рд╛, рддреА рдЙрдкрд▓рдмреНрдз рд╣реЛрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛ рдЖрдгрд┐ рдзреБрдореНрд░рдкрд╛рди рдЪрд╛рдЪрдгреА рдХрд░рд╛:

---
  - name: Verify
    hosts: solr
    tasks:
      - command: /blah/solr/bin/solr start -s /solr_home -p 8983 -force
      - uri:
          url: http://127.0.0.1:8983/solr
          method: GET
          status_code: 200
        register: uri_result
        until: uri_result is not failed
        retries: 12
        delay: 10
      - name: Post documents to solr
        command: /blah/solr/bin/post -c master /exampledocs/books.csv

рдореЙрдбреНрдпреВрд▓ рдЖрдгрд┐ рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдареЗрд╡рд╛

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

рдЯрд┐рдкрд╛ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рд╛

  1. рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЯрд╛рд│рд╛.
  2. рдЙрдкрд╕рд░реНрдЧ рднреВрдорд┐рдХрд╛ рдЪрд▓.
  3. рд▓реВрдк рдХрдВрдЯреНрд░реЛрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░рд╛.
  4. рдЗрдирдкреБрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рддрдкрд╛рд╕рд╛.
  5. рд╣реЕрд╢ рдбрд┐рдХреНрд╢рдирд░реА рдЯрд╛рд│рд╛, рд╕рдкрд╛рдЯ рд░рдЪрдирд╛ рд╡рд╛рдкрд░рд╛.
  6. рдЕрд╢рдХреНрдд рдкреНрд▓реЗрдмреБрдХ рдЖрдгрд┐ рднреВрдорд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░рд╛.
  7. рдХрдорд╛рдВрдб рд╢реЗрд▓ рдореЙрдбреНрдпреВрд▓реНрд╕ рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛.
  8. рд░реЗрдгреВрджреНрд╡рд╛рд░реЗ рддреБрдордЪреНрдпрд╛ рднреВрдорд┐рдХрд╛ рддрдкрд╛рд╕рд╛.
  9. рдореЙрдбреНрдпреВрд▓ рдЖрдгрд┐ рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдареЗрд╡рд╛.

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

рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рд╕реБрд░реВ рдХрд░рд╛рд╡реА, рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рдкреНрд░рдХрд▓реНрдк рд░рд┐рдлреЕрдХреНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╡реЗрдбрд╛ рд╣реЛрдК рдирдХрд╛

рддреБрдордЪреНрдпрд╛рдХрдбреЗ IaC рдЕрд╕рд▓реЗ рддрд░реАрд╣реА рддреБрдореНрд╣реА рдлрдХреНрдд рдЬрд╛рдКрди рдПрдЦрд╛рджреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░реАрд▓ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреА рдкреБрдирд░реНрд░рдЪрдирд╛ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рд╣реА рдПрдХ рд▓рд╛рдВрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ рдЬреНрдпрд╛рд╕рд╛рдареА рд╕рдВрдпрдо, рд╡реЗрд│ рдЖрдгрд┐ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

UPD1 2020.05.01 20:30 - рдкреНрд▓реЗрдмреБрдХрдЪреНрдпрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧрд╕рд╛рдареА рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ callback_whitelist = profile_tasks рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдиреЗрдордХреЗ рдХрд╛рдп рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА. рдордЧ рдЖрдореНрд╣реА рдЬрд╛рддреЛ рдЙрддреНрддрд░рджрд╛рдпреА рдкреНрд░рд╡реЗрдЧ рдХреНрд▓рд╛рд╕рд┐рдХреНрд╕. рддреБрдореНрд╣реА рдкрдг рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрддрд╛ mitogen
UPD2 2020.05.03 16:34 - рдЗрдВрдЧреНрд░рдЬреА рдЖрд╡реГрддреНрддреА

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

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