рд╣рд╛ рдЙрддрд╛рд░рд╛ рдЖрд╣реЗ
рджреБрд╕рд▒реНрдпрд╛ рдХрдорд┐рдЯрдкрд╛рд╕реВрди рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрди, рдХреЛрдгрддрд╛рд╣реА рдХреЛрдб рд╡рд╛рд░рд╕рд╛ рдмрдирддреЛ, рдХрд╛рд░рдг рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛ рдХрдареЛрд░ рд╡рд╛рд╕реНрддрд╡рд╛рдкрд╛рд╕реВрди рджреВрд░ рдЬрд╛рдК рд▓рд╛рдЧрддрд╛рдд. рд╣реЗ рдЪрд╛рдВрдЧрд▓реЗ рдХрд┐рдВрд╡рд╛ рд╡рд╛рдИрдЯ рдирд╛рд╣реА, рд╣реЗ рдПрдХ рджрд┐рд▓реЗ рдЖрд╣реЗ рдЬреНрдпрд╛рд╢реА рд╡рд╛рдж рдШрд╛рд▓рдгреЗ рдХрдареАрдг рдЖрд╣реЗ рдЖрдгрд┐ рдЬрдЧрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рдПрдХ рднрд╛рдЧ рдореНрд╣рдгрдЬреЗ рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ. рд░реАрдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛрдб рдореНрд╣рдгреВрди. рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдд рд░реАрдлреЕрдХреНрдЯрд░ ре▓рдиреНрд╕рд┐рдмрд▓ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдЖрдгрд┐ рд╡реЗрдбреЗ рд╣реЛрдК рдирдпреЗ рдпрд╛рд╡рд░ рдХрдерд╛ рд╕реБрд░реВ рдХрд░реВрдпрд╛.
рд╡рд╛рд░рд╕рд╛ рдЬрдиреНрдо
рджрд┐рд╡рд╕ #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: рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд░реЛрдЦрд░ рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧрдЪреА рдЧрд░рдЬ рдЖрд╣реЗ рдХрд╛?
рд░рд┐рдлреЕрдХреНрдЯрд░рдХрдбреЗ рдЬрд╛рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдиреЗрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:
- рддреБрд▓рд╛ рдпрд╛ рд╕рдЧрд│реНрдпрд╛рдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ?
- рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╡реЗрд│ рдЖрд╣реЗ рдХрд╛?
- рдЬреНрдЮрд╛рди рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ рдХрд╛?
рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рдХрд╢реА рджреНрдпрд╛рдпрдЪреА рд╣реЗ рдорд╛рд╣рд┐рдд рдирд╕реЗрд▓, рддрд░ рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рд╕реБрд░реВ рд╣реЛрдгреНрдпрд╛рдЖрдзреАрдЪ рд╕рдВрдкреЗрд▓ рдХрд┐рдВрд╡рд╛ рддреЗ рдЖрдгрдЦреА рд╡рд╛рдИрдЯ рд╣реЛрдК рд╢рдХрддреЗ. рдХрд╛рд░рдг рдЕрдиреБрднрд╡ рд╣реЛрддрд╛(
рджрд┐рд╡рд╕ #149: рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рддрдпрд╛рд░ рдХрд░рдгреЗ
рдкрд╣рд┐рд▓реА рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рддрдпрд╛рд░реА рдХрд░рдгреЗ. рдЖрдореНрд╣реА рдХрд╛рдп рдХрд░рдгрд╛рд░ рддреЗ рдард░рд╡рд╛. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЛ, рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░реЗ рд╢реЛрдзрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪреЗ рдорд╛рд░реНрдЧ рд╢реЛрдзрддреЛ. рдЖрдореНрд╣реА рдкрд░рд┐рдгрд╛рдореА рд╕рдВрдХрд▓реНрдкрдирд╛ рдХрд╢реАрддрд░реА рд░реЗрдХреЙрд░реНрдб рдХрд░рддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рд╕рдВрдЧрдорд╛рддреАрд▓ рд▓реЗрдЦ, рдЬреЗрдгреЗрдХрд░реВрди рдЬреЗрд╡реНрд╣рд╛ рдкреНрд░рд╢реНрди рдЙрджреНрднрд╡рддреЛ рддреЗрд╡реНрд╣рд╛ "рд╕рд░реНрд╡реЛрддреНрддрдо рдХрд╛рдп рдЖрд╣реЗ?" рдХрд┐рдВрд╡рд╛ "рдХреЛрдгрддреЗ рдмрд░реЛрдмрд░ рдЖрд╣реЗ?" рдЖрдореНрд╣реА рдЖрдордЪрд╛ рдорд╛рд░реНрдЧ рдЪреБрдХрд▓реЛ рдирд╛рд╣реА. рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЖрдореНрд╣реА рдХрд▓реНрдкрдиреЗрд╡рд░ рдЕрдбрдХрд▓реЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рд░рд╛рдЬреНрдп рдХрд░рд╛: рдЖрдореНрд╣реА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреЗ рдЫреЛрдЯреЗ рддреБрдХрдбреЗ/рд╡рд┐рдЯрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЬрди рдХрд░рддреЛ. рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рддреБрдореНрд╣рд╛рд▓рд╛ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░рдЪрд╛ рдПрдХ рд╡реЗрдЧрд│рд╛ рднрд╛рдЧ рдШреЗрдгреНрдпрд╛рд╕, рддреЗ рдХрд╛рдп рдХрд░рддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕, рдЪрд╛рдЪрдгреНрдпрд╛рдВрд╕рд╣ рдХрд╡реНрд╣рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдХрд╛рд╣реАрд╣реА рдЦрдВрдбрд┐рдд рд╣реЛрдгреНрдпрд╛рдЪреНрдпрд╛ рднреАрддреАрд╢рд┐рд╡рд╛рдп рддреЗ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ.
рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рдЪрдгреА рд╣рд╛ рдХреЛрдирд╢рд┐рд▓рд╛ рдмрдирддреЛ рдЖрдгрд┐ рдпреЗрдереЗ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рдЪрдгреА рдкрд┐рд░реЕрдорд┐рдбрдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдЕрдЧрджреА рддреАрдЪ рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ рдЬреА рд╡рд┐рдХрд╛рд╕рд╛рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╕рд╛рдареА: рдЖрдореНрд╣реА рд╕реНрд╡рд╕реНрдд рджреНрд░реБрдд рдЪрд╛рдЪрдгреНрдпрд╛рдВрдкрд╛рд╕реВрди рдкреБрдвреЗ рдЬрд╛рдд рдЖрд╣реЛрдд рдЬреНрдпрд╛ рдЗрдВрдбреЗрдВрдЯреЗрд╢рдирд╕рд╛рд░рдЦреНрдпрд╛ рд╕рд╛рдзреНрдпрд╛ рдЧреЛрд╖реНрдЯреА рддрдкрд╛рд╕рддрд╛рдд, рд╕рдВрдкреВрд░реНрдг рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рддреИрдирд╛рдд рдХрд░рдгрд╛рд▒реНрдпрд╛ рдорд╣рд╛рдЧрдбреНрдпрд╛ рдкреВрд░реНрдг рдЪрд╛рдЪрдгреНрдпрд╛рдВрдХрдбреЗ.
рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдкреНрд░рдпрддреНрди
рдЖрдореНрд╣реА рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░ рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреНрдпрд╛ рдХрд╢рд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛ рдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЖрдзреА, рдШреЗрддрд▓реЗрд▓реНрдпрд╛ рдирд┐рд░реНрдгрдпрд╛рдВрдЪрд╛ рд╕рдВрджрд░реНрдн рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдорд▓рд╛ рдкреВрд░реНрд╡реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдорд┐рд│рд╛рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдпрддреНрдирд╛рдВрдЪреЗ рдЖрдгрд┐ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдВрдЪреЗ рдореА рд╡рд░реНрдгрди рдХрд░реЗрди.
рджрд┐рд╡рд╕ рдХреНрд░рдорд╛рдВрдХ -997: SDS рддрд░рддреВрдж
рдореА рдкреНрд░рдердордЪ Ansible рдЪреА рдЪрд╛рдЪрдгреА SDS (рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдбрд┐рдлрд╛рдЗрдиреНрдб рд╕реНрдЯреЛрд░реЗрдЬ) рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░ рдХреЗрд▓реА рд╣реЛрддреА. рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд▓реЗрдЦ рдЖрд╣реЗ
рджрд┐рд╡рд╕ # -701: рдЙрддреНрддрд░рджрд╛рдпреА рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рд╕реНрд╡рдпрдВрдкрд╛рдХрдШрд░
рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд▓реНрдкрдиреЗрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рдореНрд╣рдгрдЬреЗ рддрдпрд╛рд░ рд╕рд╛рдзрдирд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреЗ, рдореНрд╣рдгрдЬреЗ рдХрд┐рдЪрди/рдХрд┐рдЪрди-рд╕реАрдЖрдп рдЖрдгрд┐ рддрдкрд╛рд╕рдгреА. рд░реБрдмреАрдЪреНрдпрд╛ рдЬреНрдЮрд╛рдирд╛рдиреЗ рдирд┐рд╡рдб рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА (рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА, рд╣рд╛рдмреНрд░реЗрд╡рд░реАрд▓ рд▓реЗрдЦ рдкрд╣рд╛:
рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рд╕рдорд╛рдзрд╛рдирд╛рдиреЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ, рдкрд░рдВрддреБ рд╡рд┐рд╖рдорддреЗрдореБрд│реЗ рдХрд╛рд╣реА рдЧрд╛рд│ рд╣реЛрддрд╛. рдЬреЗрд╡реНрд╣рд╛ рдЪрд╛рдЪрдгреА рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓реЛрдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ 13 рдореВрд▓рднреВрдд рднреВрдорд┐рдХрд╛ рдЖрдгрд┐ 2 рдореЗрдЯрд╛ рднреВрдорд┐рдХрд╛рдВрдкрд░реНрдпрдВрдд рд╡рд╛рдврд╡рд▓реА рдЧреЗрд▓реА рдЖрдгрд┐ рд▓рд╣рд╛рди рднреВрдорд┐рдХрд╛ рдПрдХрддреНрд░ рдХреЗрд▓реНрдпрд╛, рддреЗрд╡реНрд╣рд╛ рдЕрдЪрд╛рдирдХ рдЪрд╛рдЪрдгреНрдпрд╛ 70 рдорд┐рдирд┐рдЯрд╛рдВрд╕рд╛рдареА рдЪрд╛рд▓реВ рдЭрд╛рд▓реНрдпрд╛, рдЬреЗ рдЬрд╡рд│рдЬрд╡рд│ 2 рдкрдЯ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ. XP (рдЕрддреНрдпрдВрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ) рдкрджреНрдзрддреАрдВрдмрджреНрджрд▓ рдмреЛрд▓рдгреЗ рдХрдареАрдг рд╣реЛрддреЗ рдХрд╛рд░рдг... рдХреЛрдгреАрд╣реА 70 рдорд┐рдирд┐рдЯреЗ рдерд╛рдВрдмреВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА. рджреГрд╖реНрдЯреАрдХреЛрди рдмрджрд▓рдгреНрдпрд╛рдЪреЗ рд╣реЗ рдХрд╛рд░рдг рд╣реЛрддреЗ
рджрд┐рд╡рд╕ # -601: рдЙрддреНрддрд░рджрд╛рдпреА рдЖрдгрд┐ рд░реЗрдгреВ
рд╡реИрдЪрд╛рд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рд╣реЗ рдЯреЗрд╕реНрдЯрдХрд┐рдЪреЗрдирд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ, рдлрдХреНрдд рдЖрдореНрд╣реА рд░реЛрд▓ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдбреЙрдХрд░рдордзреНрдпреЗ рд╣рд▓рд╡рд▓реЗ рдЖрдгрд┐ рд╕реНрдЯреЕрдХ рдмрджрд▓рд▓рд╛. рдкрд░рд┐рдгрд╛рдореА, 20 рднреВрдорд┐рдХрд╛рдВрд╕рд╛рдареА рд╡реЗрд│ рд╕реНрдерд┐рд░ 25-7 рдорд┐рдирд┐рдЯрд╛рдВрдкрд░реНрдпрдВрдд рдХрдореА рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛.
рдЪрд╛рдЪрдгреА рдХреЗрд▓реЗрд▓реНрдпрд╛ рднреВрдорд┐рдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ 17 рдкрд░реНрдпрдВрдд рд╡рд╛рдврд╡реВрди рдЖрдгрд┐ 45 рднреВрдорд┐рдХрд╛рдВрджреНрд╡рд╛рд░реЗ, рдЖрдореНрд╣реА 28 рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕реНрд▓реЗрд╡реНрд╣рд╡рд░ 2 рдорд┐рдирд┐рдЯрд╛рдВрдд рд╣реЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ.
рджрд┐рд╡рд╕ #167: рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреНрдпрд╛ рдЬреЛрдбрдгреЗ
рдмрд╣реБрдзрд╛, рдШрд╛рдИрдд рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА. рдХрд╛рд░реНрдп рдореЛрдЬрддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреЗ рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдЬреЗрдгреЗрдХрд░реБрди рддреБрдореНрд╣реА рддреНрдпрд╛рдЪреЗ рд▓рд╣рд╛рди рддреБрдХрдбреЗ рдХрд░реВ рд╢рдХрд╛рд▓ рдЖрдгрд┐ рд╣рддреНрддреАрдЪрд╛ рддреБрдХрдбрд╛ рдЪрдордЪреЗрдиреЗ рдЦрд╛рдК рд╢рдХрддрд╛. рддреБрдордЪреА рд╡рд╛рдЯрдЪрд╛рд▓ рдпреЛрдЧреНрдп рджрд┐рд╢реЗрдиреЗ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА, рдХрд┐рддреА рд╡реЗрд│ рдЬрд╛рдпрдЪреЗ рдЖрд╣реЗ, рдпрд╛рдЪреА рд╕рдордЬ рдЕрд╕рд╛рдпрд▓рд╛ рд╣рд╡реА.
рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рддреЗ рдХрд╕реЗ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓ рдпрд╛рдиреЗ рдХрд╛рд╣реА рдлрд░рдХ рдкрдбрдд рдирд╛рд╣реА, рддреБрдореНрд╣реА рдХрд╛рдЧрджрд╛рдЪреНрдпрд╛ рддреБрдХрдбреНрдпрд╛рд╡рд░ рд▓рд┐рд╣реВ рд╢рдХрддрд╛, рддреБрдореНрд╣реА рдХрдкрд╛рдЯрд╛рд╡рд░ рд╕реНрдЯрд┐рдХрд░реНрд╕ рд▓рд╛рд╡реВ рд╢рдХрддрд╛, рддреБрдореНрд╣реА рдЬрд┐рд░рд╛рдордзреНрдпреЗ рдХрд╛рд░реНрдпреЗ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдХрд┐рдВрд╡рд╛ рддреБрдореНрд╣реА Google рдбреЙрдХреНрд╕ рдЙрдШрдбреВ рд╢рдХрддрд╛ рдЖрдгрд┐ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА рд▓рд┐рд╣реВ рд╢рдХрддрд╛. рддреЗрдереЗ. рдкрд╛рдп рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдкрд╛рд╕реВрди рд╡рд╛рдврддрд╛рдд рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддреНрд╡рд░рд┐рдд рдирд╛рд╣реА, рддреА рд▓рд╛рдВрдм рдЖрдгрд┐ рдХрдВрдЯрд╛рд│рд╡рд╛рдгрд╛ рдЕрд╕реЗрд▓. рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧрдЪреНрдпрд╛ рд╡реЗрд│реА рддреБрдореНрд╣реА рдХрд▓реНрдкрдирд╛рдВрдирд╛ рдЙрдЬрд╛рд│рд╛ рджреНрдпрд╛рд╡рд╛, рдердХрд╡рд╛рд╡реЗ рдЖрдгрд┐ рднрд╛рд░рд╛рд╡реВрди рдЬрд╛рд╡реЗ рдЕрд╕реЗ рдХреЛрдгрд╛рд▓рд╛рд╣реА рд╡рд╛рдЯреЗрд▓ рдЕрд╢реА рд╢рдХреНрдпрддрд╛ рдирд╛рд╣реА.
рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рд╕реЛрдкреЗ рдЖрд╣реЗ:
- рдЦрд╛.
- рдЭреЛрдк
- рдХреЛрдб
- IaC рдЪрд╛рдЪрдгреА.
- рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рд╛
рдЖрдгрд┐ рдЖрдореНрд╣реА рдЕрдкреЗрдХреНрд╖рд┐рдд рдзреНрдпреЗрдп рдЧрд╛рдареЗрдкрд░реНрдпрдВрдд рдпрд╛рдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рддреЛ.
рд▓рдЧреЗрдЪрдЪ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрдЪреА рдЪрд╛рдЪрдгреА рд╕реБрд░реВ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдЖрдордЪреЗ рдкрд╣рд┐рд▓реЗ рдХрд╛рд░реНрдп рд▓рд┐рдВрдЯрд┐рдВрдЧ рдЖрдгрд┐ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рддрдкрд╛рд╕рдгреЗ рд╣реЗ рд╣реЛрддреЗ.
рджрд┐рд╡рд╕ #181: рдЧреНрд░реАрди рдмрд┐рд▓реНрдб рдорд╛рд╕реНрдЯрд░
рд▓рд┐рдВрдЯрд┐рдВрдЧ рд╣реЗ рдЧреНрд░реАрди рдмрд┐рд▓реНрдб рдорд╛рд╕реНрдЯрд░рдЪреНрдпрд╛ рджрд┐рд╢реЗрдиреЗ рдПрдХ рд▓рд╣рд╛рди рдкрд╣рд┐рд▓реЗ рдкрд╛рдКрд▓ рдЖрд╣реЗ. рд╣реЗ рдЬрд╡рд│рдЬрд╡рд│ рдХрд╛рд╣реАрд╣реА рдЦрдВрдбрд┐рдд рдХрд░рдгрд╛рд░ рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбреАрдмрдЧ рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдЬреЗрдирдХрд┐рдиреНрд╕рдордзреНрдпреЗ рдЧреНрд░реАрди рдмрд┐рд▓реНрдб рдмрдирд╡рд┐рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓. рд╕рдВрдШрд╛рдордзреНрдпреЗ рд╕рд╡рдпреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ рд╣реА рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ:
- рд▓рд╛рд▓ рдЪрд╛рдЪрдгреНрдпрд╛ рд╡рд╛рдИрдЯ рдЖрд╣реЗрдд.
- рдореА рдХрд╛рд╣реАрддрд░реА рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд▓реЛ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдХреЛрдб рддреБрдордЪреНрдпрд╛ рдЖрдзреА рд╣реЛрддрд╛ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдереЛрдбрд╛ рдЪрд╛рдВрдЧрд▓рд╛ рдмрдирд╡рддреЛ.
рджрд┐рд╡рд╕ #193: рд▓рд┐рдВрдЯрд┐рдВрдЧрдкрд╛рд╕реВрди рдпреБрдирд┐рдЯ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдкрд░реНрдпрдВрдд
рдорд╛рд╕реНрдЯрд░рдордзреНрдпреЗ рдХреЛрдб рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдЖрдкрдг рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╕реБрдзрд╛рд░рдгреЗрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддрд╛ - рд▓рд╛рдБрдЪрд┐рдВрдЧ рднреВрдорд┐рдХрд╛рдВрд╕рд╣ рд▓рд┐рдВрдЯрд┐рдВрдЧрдЪреА рдЬрд╛рдЧрд╛ рдШреЗрдКрди, рдЖрдкрдг рддреЗ рдЕрд╢рдХреНрддрдкрдгрд╛рд╢рд┐рд╡рд╛рдп рджреЗрдЦреАрд▓ рдХрд░реВ рд╢рдХрддрд╛. рддреБрдореНрд╣рд╛рд▓рд╛ рднреВрдорд┐рдХрд╛ рдХрд╢рд╛ рд▓рд╛рдЧреВ рдХрд░рд╛рдпрдЪреНрдпрд╛ рдЖрдгрд┐ рддреНрдпрд╛ рдХрд╢рд╛ рдХрд╛рдо рдХрд░рддрд╛рдд рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рджрд┐рд╡рд╕ #211: рдпреБрдирд┐рдЯ рддреЗ рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рдЪрд╛рдЪрдгреНрдпрд╛
рдЬреЗрд╡реНрд╣рд╛ рдмрд╣реБрддреЗрдХ рднреВрдорд┐рдХрд╛ рдпреБрдирд┐рдЯ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдиреА рдХрд╡реНрд╣рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рд╕рд░реНрд╡рдХрд╛рд╣реА рд▓рд┐рдВрдЯ рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдПрдХрддреНрд░реАрдХрд░рдг рдЪрд╛рдЪрдгреНрдпрд╛ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдвреЗ рдЬрд╛рдК рд╢рдХрддрд╛. рддреНрдпрд╛. рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ рдПрдХрд╛ рд╡рд┐рдЯрд╛рдЪреА рдЪрд╛рдЪрдгреА рдХрд░рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдЪреЗ рд╕рдВрдпреЛрдЬрди, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рдВрдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди.
рдЬреЗрдирдХрд┐рдиреНрд╕ рд╡рд╛рдкрд░реВрди, рдЖрдореНрд╣реА рд╕рдорд╛рдВрддрд░ рднреВрдорд┐рдХрд╛/рдкреНрд▓реЗрдмреБрдХреНрд╕, рдирдВрддрд░ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдпреБрдирд┐рдЯ рдЪрд╛рдЪрдгреНрдпрд╛ рдЖрдгрд┐ рд╢реЗрд╡рдЯреА рдПрдХрддреНрд░реАрдХрд░рдг рдЪрд╛рдЪрдгреНрдпрд╛ рдХрд░рдгрд╛рд░реЗ рдЕрдиреЗрдХ рдЯрдкреНрдкреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗ.
рдЬреЗрдирдХрд┐рдиреНрд╕ + рдбреЙрдХрд░ + рдЙрддреНрддрд░рджрд╛рдпреА = рдЪрд╛рдЪрдгреНрдпрд╛
- рд░реЗрдкреЛ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рд╛ рдЖрдгрд┐ рдмрд┐рд▓реНрдб рдЯрдкреНрдкреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рд╛.
- рд▓рд┐рдВрдЯ рдкреНрд▓реЗрдмреБрдХрдЪреЗ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
- рд▓рд┐рдВрдЯ рд░реЛрд▓ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
- рд╕рд┐рдВрдЯреЕрдХреНрд╕ рдЪреЗрдХ рд░реЛрд▓ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
- рдЪрд╛рдЪрдгреА рднреВрдорд┐рдХрд╛ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
- рд▓рд┐рдВрдЯ рднреВрдорд┐рдХрд╛.
- рдЗрддрд░ рднреВрдорд┐рдХрд╛рдВрд╡рд░реАрд▓ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рд╛.
- рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рддрдкрд╛рд╕рд╛.
- рдбреЙрдХрд░ рдЙрджрд╛рд╣рд░рдг рддрдпрд╛рд░ рдХрд░рд╛
- molecule/default/playbook.yml рдЪрд╛рд▓рд╡рд╛.
- рдЕрд╢рдХреНрддрдкрдгрд╛ рддрдкрд╛рд╕рд╛.
- рдПрдХреАрдХрд░рдг рдЪрд╛рдЪрдгреНрдпрд╛ рдЪрд╛рд▓рд╡рд╛
- рд╕рдорд╛рдкреНрдд
рджрд┐рд╡рд╕ #реиренрез: рдмрд╕ рдлреЕрдХреНрдЯрд░
рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рд░рд┐рдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рджреЛрди рдХрд┐рдВрд╡рд╛ рддреАрди рд▓реЛрдХрд╛рдВрдЪреНрдпрд╛ рд▓рд╣рд╛рди рдЧрдЯрд╛рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рдд рдЕрд╕реЗ. рддреНрдпрд╛рдВрдиреА рдорд╛рд╕реНрдЯрд░рдордзреАрд▓ рдХреЛрдбрдЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХреЗрд▓реЗ. рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ, рд╕рдВрдШрд╛рдиреЗ рдХреЛрдб рдХрд╕реЗ рд▓рд┐рд╣рд╛рд╡реЗ рдпрд╛рдЪреЗ рдЬреНрдЮрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрдгрд┐ рдХреЛрдб рдкреБрдирд░рд╛рд╡рд▓реЛрдХрдирд╛рдореБрд│реЗ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдмрджреНрджрд▓ рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдмрджреНрджрд▓ рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рдкреНрд░рд╕рд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рд╣рд╛рддрднрд╛рд░ рд▓рд╛рдЧрд▓рд╛. рдпреЗрдереЗ рдард│рдХ рдЧреЛрд╖реНрдЯ рдЕрд╢реА рд╣реЛрддреА рдХреА рд╕рдореАрдХреНрд╖рдХрд╛рдВрдЪреА рдирд┐рд╡рдб рдПрдХрд╛ рд╢реЗрдбреНрдпреВрд▓рдиреБрд╕рд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА, рдореНрд╣рдгрдЬреЗ. рдХрд╛рд╣реА рдкреНрд░рдорд╛рдгрд╛рдд рд╕рдВрднрд╛рд╡реНрдпрддреЗрд╕рд╣ рддреБрдореНрд╣реА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреНрдпрд╛ рдирд╡реАрди рддреБрдХрдбреНрдпрд╛рдд рдЬрд╛рд▓.
рдЖрдгрд┐ рддреЗ рдпреЗрдереЗ рдЖрд░рд╛рдорджрд╛рдпрдХ рдЕрд╕рд╛рд╡реЗ. рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХрд░рдгреЗ, рддреЗ рдХреЛрдгрддреЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ рдЪрд░реНрдЪреЗрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдкрд╣рд╛рдгреЗ рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдЬреЗрдирдХрд┐рдиреНрд╕ + рдмрд┐рдЯрдмрдХреЗрдЯ + рдЬрд┐рд░рд╛ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.
рдкрд░рдВрддреБ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рд╣рд╛ рд░рд╛рдордмрд╛рдг рдЙрдкрд╛рдп рдирд╛рд╣реА, рдЖрдореНрд╣реА рдорд╛рд╕реНрдЯрд░ рдХреЛрдбрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛, рдЬреНрдпрд╛рдореБрд│реЗ рдЖрдордЪреНрдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛ рдлреНрд▓реЙрдк рдЭрд╛рд▓реНрдпрд╛:
- 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: рдЪрд╛рдЪрдгреНрдпрд╛рдВрдирд╛ рдЧрддреА рджреЗрдгреЗ
рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ, рдЕрдзрд┐рдХ рдЪрд╛рдЪрдгреНрдпрд╛ рдЭрд╛рд▓реНрдпрд╛, рдмрд┐рд▓реНрдбреНрд╕ рд╣рд│реВ рдЪрд╛рд▓рд▓реЗ, рд╕рд░реНрд╡рд╛рдд рд╡рд╛рдИрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдПрдХ рддрд╛рд╕рд╛рдкрд░реНрдпрдВрдд. рдПрдХрд╛ рд░реЗрдЯреНрд░реЛрд╡рд░ "рдЪрд╛рдЪрдгреНрдпрд╛ рдЖрд╣реЗрдд рд╣реЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛ рд╣рд│реВ рдЖрд╣реЗрдд" рдЕрд╕рд╛ рдПрдХ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╣реЛрддрд╛. рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣реА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╡рд░реАрд▓ рдПрдХрддреНрд░реАрдХрд░рдг рдЪрд╛рдЪрдгреНрдпрд╛ рд╕реЛрдбрд▓реНрдпрд╛ рдЖрдгрд┐ рддреНрдпрд╛ рдЬрд▓рдж рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреЙрдХрд░рд╕рд╛рдареА рд╕реНрд╡реАрдХрд╛рд░рд▓реНрдпрд╛. рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдЯреВрд▓реНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдЯреЗрд╕реНрдЯрд┐рдВрдлреНрд░рд╛рд▓рд╛ рдЙрддреНрддрд░рджрд╛рдпреА рд╡реНрд╣реЗрд░рд┐рдлрд╛рдпрд░рд╕рд╣ рдмрджрд▓рд▓реЗ.
рдХрд╛рдЯреЗрдХреЛрд░рдкрдгреЗ рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рддрд░, рдЙрдкрд╛рдпрд╛рдВрдЪрд╛ рдПрдХ рд╕рдВрдЪ рд╣реЛрддрд╛:
- рдбреЙрдХрд░рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рд╛.
- рднреВрдорд┐рдХрд╛ рдЪрд╛рдЪрдгреА рдХрд╛рдвреВрди рдЯрд╛рдХрд╛, рдЬреА рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдВрдореБрд│реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЭрд╛рд▓реА рдЖрд╣реЗ.
- рдЧреБрд▓рд╛рдорд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдврд╡рд╛.
- рдЪрд╛рдЪрдгреА рд░рди рдСрд░реНрдбрд░.
- рд▓рд┐рдВрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд╕рд░реНрд╡ рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдПрдХрд╛ рдЖрджреЗрд╢рд╛рдиреЗ.
рддреНрдпрд╛рдореБрд│реЗ рдЬреЗрдирдХрд┐рдиреНрд╕рд╡рд░реАрд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╣реА рдПрдХрд░реВрдк рдЭрд╛рд▓реА
- рдмрд┐рд▓реНрдб рдЯрдкреНрдкреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рд╛.
- рд▓рд┐рдВрдЯ рд╕рд░реНрд╡ рд╕рдорд╛рдВрддрд░.
- рдЪрд╛рдЪрдгреА рднреВрдорд┐рдХрд╛ рдЯрдкреНрдкреЗ рд╕рдорд╛рдВрддрд░ рдЪрд╛рд▓рд╡рд╛.
- рд╕рдорд╛рдкреНрдд.
рд╢рд┐рдХрд▓реЗрд▓реЗ рдзрдбреЗ
рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЯрд╛рд│рд╛
рдЙрддреНрддрд░рджрд╛рдпреА рдЬрд╛рдЧрддрд┐рдХ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреЗ, рдлреЙрд░реНрдордордзреНрдпреЗ рдЖрдВрд╢рд┐рдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЖрд╣реЗ
рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЛ. рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реВ рджреНрдпрд╛ 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
рдореЙрдбреНрдпреВрд▓ рдЖрдгрд┐ рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдареЗрд╡рд╛
рдЙрддреНрддрд░рджрд╛рдпреА рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ, рдореНрд╣рдгреВрди рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдХреЛрдб рдмреНрд░рдБрдЪрд┐рдВрдЧ, рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдиреНрд╕рдлреЙрд░реНрдореЗрд╢рди, рд╢реЗрд▓ рдореЙрдбреНрдпреВрд▓реНрд╕ рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рдХреЛрдб рд╡рд╛рдЪрдгреЗ рдХрдареАрдг рд╣реЛрддреЗ. рдпрд╛рдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рдордЬрдгреНрдпрд╛рд╕ рд╕реЛрдкреЗ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реЗ рд╕реНрд╡рддрдГрдЪреЗ рдореЙрдбреНрдпреВрд▓ рддрдпрд╛рд░ рдХрд░реВрди рдпрд╛ рдЬрдЯрд┐рд▓рддреЗрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рдгреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.
рдЯрд┐рдкрд╛ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рд╛
- рдЧреНрд▓реЛрдмрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЯрд╛рд│рд╛.
- рдЙрдкрд╕рд░реНрдЧ рднреВрдорд┐рдХрд╛ рдЪрд▓.
- рд▓реВрдк рдХрдВрдЯреНрд░реЛрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░рд╛.
- рдЗрдирдкреБрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рддрдкрд╛рд╕рд╛.
- рд╣реЕрд╢ рдбрд┐рдХреНрд╢рдирд░реА рдЯрд╛рд│рд╛, рд╕рдкрд╛рдЯ рд░рдЪрдирд╛ рд╡рд╛рдкрд░рд╛.
- рдЕрд╢рдХреНрдд рдкреНрд▓реЗрдмреБрдХ рдЖрдгрд┐ рднреВрдорд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░рд╛.
- рдХрдорд╛рдВрдб рд╢реЗрд▓ рдореЙрдбреНрдпреВрд▓реНрд╕ рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛.
- рд░реЗрдгреВрджреНрд╡рд╛рд░реЗ рддреБрдордЪреНрдпрд╛ рднреВрдорд┐рдХрд╛ рддрдкрд╛рд╕рд╛.
- рдореЙрдбреНрдпреВрд▓ рдЖрдгрд┐ рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдареЗрд╡рд╛.
рдирд┐рд╖реНрдХрд░реНрд╖
рддреБрдордЪреНрдпрд╛рдХрдбреЗ IaC рдЕрд╕рд▓реЗ рддрд░реАрд╣реА рддреБрдореНрд╣реА рдлрдХреНрдд рдЬрд╛рдКрди рдПрдЦрд╛рджреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░реАрд▓ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреА рдкреБрдирд░реНрд░рдЪрдирд╛ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рд╣реА рдПрдХ рд▓рд╛рдВрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ рдЬреНрдпрд╛рд╕рд╛рдареА рд╕рдВрдпрдо, рд╡реЗрд│ рдЖрдгрд┐ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рджреБрд╡реЗ
- рд╕реНрд▓рд╛рдЗрдб
рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рдХрд░рд╛рд╡реА рдЖрдгрд┐ рдореВрд░реНрдЦ рд╣реЛрдК рдирдХрд╛ - рд╡реНрд╣рд┐рдбрд┐рдУ
рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд╢реА рдХрд░рд╛рд╡реА рдЖрдгрд┐ рдореВрд░реНрдЦ рд╣реЛрдК рдирдХрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдХреЛрдбрдЪреНрдпрд╛ 200 рд▓рд╛рдЗрдиреНрд╕рдЪреНрдпрд╛ рдЪрд╛рдЪрдгреАрддреВрди рдореА рдХрд╛рдп рд╢рд┐рдХрд▓реЛ рдЙрддреНрддрд░: 120 рдорд╣рд┐рдиреНрдпрд╛рдВрдд 18 VM рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреЗ Coreos рддреЗ Centos рдкрд░реНрдпрдВрдд рд╕реНрдерд▓рд╛рдВрддрд░ рддреБрдордЪреНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рдЪреА рдЪрд╛рдЪрдгреА рдХрд░рддрд╛рдирд╛ рдХреНрд░реЕрдЪрд╡рд░ рд╕рд╛рдпрдХрд▓реА рдХрд╢рд╛ рдлреЛрдбрд╛рдпрдЪреНрдпрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдпрдПрдордПрд▓ рдкреНрд░реЛрдЧреНрд░реЕрдорд░ рдЙрддреНрддрд░рджрд╛рдпреА рдЪрд╛рдЪрдгреА рдХрд░рдгреНрдпрд╛рдЪреЗ рд╕реНрд╡рдкреНрди рджрд╛рдЦрд╡реВ рд╢рдХрддрд╛ рдХрд╛ рдХрд┐рдВрд╡рд╛ рдХрд░реВ рд╢рдХрддрд╛ рдХрд╛? рдЫрд╛рди IaC рдЪрд╛рдЪрдгреА рд▓реЗрдЦ, рднрд╛рд╖рдгреЗ рдЖрдгрд┐ рд▓рд┐рдВрдХреНрд╕рдЪреА рд╕реВрдЪреА рдХреНрд░реЙрд╕ рдкреЛрд╕реНрдЯ рдЗрдВрдЧреНрд░рдЬреА рдЖрд╡реГрддреНрддреА
UPD1 2020.05.01 20:30 - рдкреНрд▓реЗрдмреБрдХрдЪреНрдпрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧрд╕рд╛рдареА рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ callback_whitelist = profile_tasks
рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдиреЗрдордХреЗ рдХрд╛рдп рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА. рдордЧ рдЖрдореНрд╣реА рдЬрд╛рддреЛ
UPD2 2020.05.03 16:34 -
рд╕реНрддреНрд░реЛрдд: www.habr.com