Fabric: рдлреИрдмреНрд░рд┐рдХ 2 - рд╕рдореВрд╣ рдкрд░ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рджрд┐рд╕ре░ 2017  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: fabric/fabric

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

execute рднреАрддрд░ рдЯрд┐рдкреНрдкрдгреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреА рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рд▓рд┐рдВрдХ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ? рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ/рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рдЕрдиреБрд░реЛрдз рд╣реЛрдЧрд╛?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдлреИрдмреНрд░рд┐рдХ 2 рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлреАрдЪрд░ рдХреА рдмрд╣реБрдд рдЬрд░реВрд░рдд рд╣реИред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдХрдм рд╡рд┐рд▓рдп рд╣реЛрдЧрд╛?

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлреИрдмреНрд░рд┐рдХ 2 рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рд╕рдмрд╕реЗ рдХрд░реАрдмреА рдЪреАрдЬ рд╣реИ: http://docs.fabfile.org/en/stable/getting_started.html

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

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

рдХреБрдЫ рдФрд░ рдЬрдЯрд┐рд▓ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рддрддреНрдХрд╛рд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдирд╛ рдЕрднреА рднреА рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рднреА рдкрд╛рдЗрдерди рдирд┐рд░реНрдорд╛рдг рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ (рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐, рдЖрджрд┐) рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ 'рдореЗрдЯрд╛' рд╣реЛрдЧрд╛ред рдХрд╛рд░реНрдп for hostname, kwargs in my_map_of_hostnames_to_kwargs.items(): othertask(Connection(hostname), **kwargs) рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рд╣реИред

(рдпрд╣ рдЕрднреА рднреА pyinvoke/invoke#170, рдпрд╛ рдХрдо рд╕рдВрднрд╛рд╡рдирд╛, #4 рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП рд╡реЗ рджреЛрдиреЛрдВ рдХрд╛рдо рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВред)

рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рд╣рдо рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИред


рдкреБрди: рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: рд╣рд╛рдБ 'рдЖрд░рдВрдн рдХрд░рдирд╛' рдкреГрд╖реНрда рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдЯ рдЬреЛ Group.execute рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рд╣реИ http://docs.fabfile.org/en/v2/getting_started.html#bringing -it-all -рдПрдХ рд╕рд╛рде - рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрднреА рддрдХ рд╕реЛрдЪрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ!

рдЗрд╕ v2 рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдЗрд╕рдХрд╛ рд╕реНрд░реЛрдд GitHub рдкрд░ рдорд┐рд▓рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкрдврд╝рдиреЗ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХреАред

cxn = Connection(host) рд╡рд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдпрд╛рдж рдЖ рд░рд╣рд╛ рдерд╛; рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕реАрдПрдХреНрд╕рдПрди рдХреНрдпрд╛ рдерд╛, рдЗрд╕рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЦреБрджрд╛рдИ рдирд╣реАрдВ рдХреА рдереА рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдХрдиреЗрдХреНрд╢рди рдерд╛ред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣ рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдлрд╝реИрдмреНрд░рд┐рдХ 3 рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдкреАрдкреАрдкреА рдкрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ v2 рдкрд░ рдЬрд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рджрд┐рдорд╛рдЧ рдХреЗ рд╕рд╛рдеред рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛ!

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдиреЗ рдЙрд╕ v2 рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ README рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдЕрдиреБрд░реЛрдз рдЦреАрдВрдЪреВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкрдВрдХреНрддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ: p

рдХреНрдпрд╛ host рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ -D рддрд░реНрдХ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп fabric.json рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдлреИрдмреНрд░рд┐рдХ 2 рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлреАрдЪрд░ рдХреА рдмрд╣реБрдд рдЬрд░реВрд░рдд рд╣реИред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдХрдм рд╡рд┐рд▓рдп рд╣реЛрдЧрд╛?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jmcgrath207 picture jmcgrath207  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

TimotheeJeannin picture TimotheeJeannin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

acdha picture acdha  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jamesob picture jamesob  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

harobed picture harobed  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ