рдЖрдЬ рдореБрдЭреЗ рдЕрдЪрд╛рдирдХ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдкрд╛рд╡рд░ рд╣реИрдВ (
рдХрдкрдбрд╝реЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрдИ рдорд╣реАрдиреЛрдВ рдХреЗ рдмрд╛рдж)ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдмрд┐рддрд╛рдП рдЧрдП 30 рдорд┐рдирдЯ рдЖрдкрдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рдХрдИ рд╕рдВрдЪрдпреА рдШрдВрдЯреЛрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред
рдЕрдЬрдЧрд░ рдХреЗ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреЗ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рдХрдкрдбрд╝реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрджреНрднреБрдд рдореЙрдбреНрдпреВрд▓ рд╣реИред рдФрд░ рдореИрдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА
рдлреИрдм рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреБрдЫ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдпреЗ рдХрд╛рд░реНрдп рд╣реЛрдВрдЧреЗ:
рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕реНрдорд╛рд░реНрдЯ рдХрдореЗрдВрдЯреЗрдЯрд░ рдФрд░ рдПрдХ рдХрдорд┐рдЯ
рдХрдорд┐рдЯреЗрдЯрд░ ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрдкрдбрд╝реЗ рд░рдЦреЛ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рд╣рд░ рдЬрдЧрд╣ рд░рдЦреЛ (рдпрджрд┐, рдЕрдЪрд╛рдирдХ, рдЖрдк рдЕрднреА рднреА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)!
pip install fabric
committer
рдЕрд▓реМрдХрд┐рдХ рдХреБрдЫ рднреА рдирд╣реАрдВ - рдмрд╕ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдиреБрд╕реНрдЦрд╛:
merge_dev_to_test
рдлрд╝рдВрдХреНрд╢рди рдмрд╣реБрдд рд▓рд╛рдЧреВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рджрд░рдЕрд╕рд▓, рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ 6 рдХрдорд╛рдВрдбреЛрдВ рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдПрдХ
fab to_test
рдХреЗ рдЗрдирдкреБрдЯ рдФрд░ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджреЗрддреА рд╣реИред рдЙрд╕реА рд╕рдордп, рд╡рд╣ рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рджреЗрддрд╛ рд╣реИ - рдмреНрд░рдВрдЪ рдореЗрдВ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдВрдЧреЗ рдФрд░ рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛ рдХреА рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдПрдХ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджреЗрдВрдЧреЗред рдпрджрд┐ рдорд░реНрдЬ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ - рдмрд╕
fab commit
ред
Kommenter
рдореИрдВ рдЗрд╕реЗ
Django рд╕реЗрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рд┐рдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдзреНрдпрд╛рди рднрдВрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ django рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╕рд╣реА рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЙрдирдореЗрдВ рд╕реЗ рд╕рд┐рд░реНрдл рдПрдХ рд╣реИред рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред
рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреЛрдб рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред
fabric
рд╣реА рдПрдХ
contrib.files
рд╕рд╛рде
contrib.files
рдореЙрдбреНрдпреВрд▓ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдФрд░ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░, "
contrib.files
" рдХреЛ рдЗрд╕ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдореЗрдВрдЯ рд╕рд┐рдВрдмрд▓ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдмреАрдЪ рдПрдХ рд╕реНрдерд╛рди рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдпрд╣
рдЙрджрд╛рддреНрдд рдкрд╛рда рдмрдирд╛рддрд╛
рд╣реИ ) рдФрд░ рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рдореЗрдВ рдХреЗрд╡рд▓ рдорд╛рд░реНрдХрд░ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред
рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
fab update_settings:mode=<>
рдХрдорд╛рдВрдб
fab update_settings:mode=<>
, рд╡рд╣
env.settings_files
рд╕реВрдЪреА рд╕реЗ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╕рд╛рде рд╣реА рдореЛрдб рдХреЗ рдЕрдиреБрд░реВрдк рд▓рд╛рдЗрдиреЛрдВ рдХреЛ
env.settings_files
рдХрд░рдХреЗ рдФрд░ рдорд╛рд░реНрдХрд░ рдХреЗ рд╕рд╛рде рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реБрдП рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ
env.settings_files
рд╕рдХрддрд╛ рд╣реИред
рдпрд╛рдиреА рдХреЙрд▓рд┐рдВрдЧ
fab update_settings:mode=test
рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдЧрд╛
/project_root/settings.py
рдФрд░
/project_root/module/settings.py
'' -D '' рдФрд░ '# -T' рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдФрд░ '# -T' рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ ред
рдпрд╣ рдЖрдкрдХреЛ рдЯрд╛рдЗрдк рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dvl',
... рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз рдордВрдЪ рдкрд░ рдЕрд▓рдЧ рдХрд░рдирд╛:
def deploy(branch): env.test_branch =branch
рдФрд░ рдЖрдк рдЗрд╕ рд╕рднреА рд╣реИрд╢
fab deploy:branch=test
рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдХрдВрд╕реЛрд▓ рдФрд░ рдЙрди рдкрд░ рдмрд┐рддрд╛рдП рдЧрдП рд╕рдордп рдореЗрдВ рдХрд┐рддрдиреА рдЯреАрдореЗрдВ рдмрдЪрд╛рдИ рдЬрд╛рдПрдВрдЧреАред
рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдРрд╕реЗ рд╕рдВрдЪрд╛рд▓рди рд╕рдордп рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдФрд░ рдлрд┐рд░ рдХрд┐рд╕реА рддрд░рд╣
рдХрдкрдбрд╝реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реА рдкрд╕рдВрджреАрджрд╛ рдкрддреНрд░рд┐рдХрд╛ рдХреЗ рдкрдиреНрдиреЛрдВ рдкрд░ рдмрд╣реБрдд рд▓рд╛рдкрд░рд╡рд╛рд╣реА рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ...