рд╣рдо django рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдкрд▓реЛрдб рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рджреЗрддреЗ рд╣реИрдВ

Django рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрд┐рдЫрд╛рдиреЗ рдХреЗ рд▓рд┐рдП VDSs рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдХрд╛рдлреА рдердХрд╛рдК рд╣реИ, рдФрд░ рдХреБрдЫ рдХреЛ рднреВрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣рд░ рджрд┐рди рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ)ред рдЬрдм рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛ рддреЛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ: рдХрдо рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдЖрдк рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ: рдЕрдЬрдЧрд░ ( рдХрдкрдбрд╝реЗ , рдмрд┐рд▓реНрдбрдЖрдЙрдЯ ) рдпрд╛ рдЧреИрд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ ( рдХрдардкреБрддрд▓реА , рдмрд╛рд╡рд░реНрдЪреА , рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗрдЯ, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯред



рдХрдкрдбрд╝реЗ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг - рдПрдХ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░реНрд╡рд░ рдкрд░ ssh рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдлреА рд╕рд░рд▓ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ (рд╣рдм рдкрд░ рд╕рдореАрдХреНрд╖рд╛ )ред Django-fab-рддреИрдирд╛рдд рдирд╛рдордХ рдПрдХ рдмрд╛рдЗрдХ рдзреАрд░реЗ - рдзреАрд░реЗ рд╡рд┐рднрд┐рдиреНрди рдХрдкрдбрд╝реЗ рдЯреАрдореЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдИред рдпрд╣ рдлреИрдмреНрд░рд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдбреЗрдмрд┐рдпрди рд▓реЗрдиреА рдпрд╛ рд╕реНрдХреНрд╡реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░, рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде, рд╡рд╣рд╛рдБ django рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред



рдбреЗрдмрд┐рдпрди рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рд╕рд╛рде, рд╕реНрдХреНрд╡реАрдЬрд╝ рдиреЗ django-fab-рддреИрдирд╛рдд рдХреЛ рдЕрдзрд┐рдХ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓рд┐рдпрд╛, рдХреБрдЫ рдЦреБрд░рджрд░реЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдФрд░ рдЕрдм, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рд╣реИ , рдЗрд╕рдореЗрдВ рдЧреЗрдп рдЦреБрджрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реАрдЯреЗрд▓рд┐рдВрдЧ рд╣реЛрдЧреАред





рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд:



рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб:



рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдзрд┐ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдорд╛рдирджрдВрдб рд╕реНрдерд┐рд░рддрд╛ / рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдереЗ, рдФрд░ рдпрд╣рд╛рдВ рдЕрдкрд╛рдЪреЗ + mod_wsgi + nginx рдХрд╛ рдЧреБрдЪреНрдЫрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмреЗрдЬреЛрдбрд╝ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ubuntu рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреНрдпреЛрдВ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрднреА ubunt рдХрд╛ рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ (рдореИрдВ рдЦреБрдж ubuntu рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ)ред



рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ (рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рдЕрдм рд╕рдорд░реНрдерд┐рдд рд╣реИ )ред рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ VCS рдореЗрдВ рдирд╣реАрдВ рд╣реИ рддреЛ рд▓реЛрдбрд┐рдВрдЧ / рдЕрдирдкреИрдХрд┐рдВрдЧ tar.gz рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗрдореА-рдкреНрд▓рдЧ рд╣реИ; рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ (рдХреЛрдИ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рдереА), рдФрд░ рдРрд╕реА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред



рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди



рд╕рд░реНрд╡рд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рдореВрд▓ рддрд░реАрдХрд╛ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ: django-fab-рддреИрдирд╛рддреА рд╕рд┐рд░реНрдл рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ; рд╡реЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЭрд╛рдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреЛрдЧрд┐рддрд╛, рдпрд╛ рдПрдХ рдкреИрдЪ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╕ рдПрдХ рд▓реЗрдЦ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред



рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдл рдбреЗрдмрд┐рдпрди рд╕рд░реНрд╡рд░ рд╣реИ (рдЖрдк рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ "рд╕рд╛рдл рдирд╣реАрдВ" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рд╣рдордиреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде ssh рдПрдХреНрд╕реЗрд╕ рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред



рдХреГрдкрдпрд╛ OpenVZ рдкрд░ VPS рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ VIRT RSS рдХреЗ рдмрдЬрд╛рдп рдЙрдирдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП OpenVZ рдХреЗ рддрд╣рдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ (Apache рдФрд░ mysql + innodb рд╕рд╣рд┐рдд) xen / kvm (10 рдЧреБрдирд╛ - рд╣рд╛рдБ рдЖрд╕рд╛рди) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдЦрд╛рддрд╛ рд╣реИред



рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддреИрдпрд╛рд░реА


Django рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдХреНрд╕рд░ 'local_settings.py' рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЪрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╣реИрдВ, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрдирдХреЗ рдкрд╛рд╕ рдкрд╛рдЗрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд╛рд▓рд╛ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИред Django- рдлреИрдм-рддреИрдирд╛рдд, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рдЖрдЧреЗ рдХрд╛ рд╡рд┐рд╡рд░рдгред



1. django- рдлреИрдм-рддреИрдирд╛рддреА рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:



 рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд django- рдлреИрдм-рддреИрдирд╛рддреА
 рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ jinja2
 рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд -e git + git: //github.com/bitprophet/fabric.git#egg=Fabric-dev


django-fab-рддреИрдирд╛рдд рдлреИрдмреНрд░рд┐рдХ 0.9.x рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдлреИрдмреНрд░рд┐рдХ рдХреЛ рдЬреАрдердм рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



2. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ fabfile.py рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдп рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЦреИрд░, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рдлреИрдмреНрд░рд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдХреЛрдИ рдЕрдиреНрдп (рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ) рдХрдорд╛рдВрдб рд╣реЛ рд╕рдХрддреА рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг:



# my_project/fabfile.py from fab_deploy import * def my_site(): env.hosts = ['my_site@example.com'] env.conf = dict( DB_PASSWORD = 'password', PROCESSES = 2, # ,    Debian Squeeze;     'lenny' # OS = 'squeeze', # ,         (  - 'hg') # VCS = 'none', ) update_env() my_site()
      
      







Env.hosts рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдПрдХ рдЪрд╛рд▓ рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (my_site) рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (рдпрд╣ рдЕрдЬрдЧрд░ рдореЗрдВ рд╕рд╣реА рдЪрд░ рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдмрд┐рдирд╛ рдбреИрд╢ рдФрд░ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ)ред рдпрд╣ рдареАрдХ рд╣реИ рдЕрдЧрд░ рдРрд╕рд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ django-fab-рддреИрдирд╛рдд рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдФрд░ рдмрд╛рдж рдореЗрдВ ssh рдПрдХреНрд╕реЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред



Env.conf рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд╛рдо (DB_NAME) рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг (INSTANCE_NAME) рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ env.hosts рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред



рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝реЗрдмрд┐рд▓реА рдПрдкреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ ред



3. рд╡реЗрдм рд╕рд░реНрд╡рд░, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдПрдВред



  django-fab-рддреИрдирд╛рдд config_templates 


Config_templates рдлрд╝реЛрд▓реНрдбрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрд▓рдЧ рд╣реИрдВ, рдФрд░ рдЕрдХреНрд╕рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - рдХрдо рд╕реЗ рдХрдо рдЙрдиреНрд╣реЗрдВ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдкрдврд╝реЗрдВред



{{}} рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЗрдЯрд┐рдВрдЧ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣рд╛рдБ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди jinja2 рд╣реИ)ред рдЗрди рдЪрд░ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрд┐рдЫрд╛рддреЗ рд╕рдордп env.conf рд╢рдмреНрджрдХреЛрд╢ рд╕реЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



4. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдореЗрдВ config.server.py рдмрдирд╛рдПрдБред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕рд░реНрд╡рд░ рдкрд░ config.py рдлрд╝рд╛рдЗрд▓ рдмрди рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдЙрджрд╛рд╣рд░рдг:



 # my_project/config.server.py DEBUG = False DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '{{ DB_NAME }}', 'USER': '{{ DB_USER }}', 'PASSWORD': '{{ DB_PASSWORD }}', 'HOST': '', 'PORT': '', 'OPTIONS': { "init_command": "SET storage_engine=INNODB" }, } }
      
      







рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде config.py рднреА рдмрдирд╛рдПрдБред Config.py рдХреЛ settings.py рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ:

 # Django settings for my_project project. # ... from config import * # ...
      
      





рдЯреНрд░рд┐рдХ рд╕рд░реНрд╡рд╡рд┐рджрд┐рдд рд╣реИ, рдЕрдХреНрд╕рд░ config.py рдХреЛ local_settings.py рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ VCS (рдпрджрд┐ VCS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдореЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, config.server.py рднреА рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ (рдЬреИрд╕реЗ config_templates рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ), env.conf рд╕реЗ рдЪрд░ рднреА рдЗрд╕рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред



5. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ 'reqs' рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рд░реВрдЯ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



  django-fab-рддреИрдирд╛рдд example_reqs 


рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкрд╛рдЗрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдкрд╛рда рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рд╣реИ: reqs / all.txtред рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рд╣реИ, рд╡рд╣рд╛рдВ рд╕реЗ рд╕рднреА рдкреИрдХреЗрдЬ рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рд╡рд╣рд╛рдВ рдЖрдк рдпрд╛ рддреЛ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ (рдмреЗрд╣рддрд░) рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ "-r" рд╡рд┐рдХрд▓реНрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред



django-fab-deploy generate_reqs



fab- django-fab-deploy generate_reqs



рдХрдорд╛рдВрдб рднреА рд╣реИ, рдЬреЛ рдПрдХ all.txt рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ reqs рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╕рднреА рдЕрдЬрдЧрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ (рдХреНрдпрд╛ рдкрд╛рдЗрдк рдлреНрд░реАрдЬ рджрд┐рдЦрд╛рддрд╛ рд╣реИ)ред



рдЪрд░рдг 1-5 рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:



 my_project
     ...
     config_templates 
         ...
     reqs             
         all.txt      
         ...     

     fabfile.py      
     config.py      
     config.server.py 
     settings.py
     manage.py


рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рддреИрдпрд╛рд░ рд╣реИред



рд╕рд░реНрд╡рд░ рдХреА рддреИрдпрд╛рд░реА


1. рдпрджрд┐ рдХреЛрдИ рдЧреИрд░-рдореМрдЬреВрдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ env.hosts рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЗрд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ ssh рдПрдХреНрд╕реЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ (рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):



  рдлреИрдм create_linux_account: "/ рд╣реЛрдо / рдХрд┐рдореАрдХрд╛рдЗрдХ / ssh / id_rsa.pub" 


рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ ssh рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:



  ssh my_site@example.com 


2. рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрдЯ рдХрд░реЗрдВред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд╣рд▓реЗ рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ), рддреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред django-fab-рддреИрдирд╛рдд рдЕрдм рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ mysql рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдБ:



 fab mysql_install
 рдлреИрдм mysql_create_db


mysql_install рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ mysql рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдпрджрд┐ mysql рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ mysql рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб env.conf ['DB_PASSWORD'] рдкрд░ рд╕реЗрдЯ рд╣реИред



mysql_create_db env.conf ['DB_NAME'] рдирд╛рдордХ рдПрдХ рдЦрд╛рд▓реА рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддрд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ env.hosts рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╣реЛрдЧрд╛)ред



рдпрджрд┐ рдЖрдк mysql рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ mysql рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░реВрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рд╛рде рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдмреЗрд╣рддрд░ рдЕрднреА рддрдХ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд (рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдкрдбрд╝рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВ) рдФрд░ рдкреИрдЪ рдХреЛ django-fab-рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдЬреЗрдВред



3. рд╕рдм рдХреБрдЫ, рд╕рд░реНрд╡рд░ рддреИрдпрд╛рд░ рд╣реИред рдЖрдк рдЕрдкрдиреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдбрд╝ рд╕реЗ рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:



  рдлреИрдм full_deploy 


рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╕рд╛рдЗрдЯ рдХреЛ рдХрдорд╛рдИ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред



рдпрд╣ рдЖрджреЗрд╢:



рд╕реНрд░реЛрдд рдХреЛрдб ~ / src / <INSTANCE_NAME> рдореЗрдВ рд╣реЛрдВрдЧреЗ, virtualenv рдХреЛ ~ / envs / <INSTANCE_NAME> рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред



django-fab-рддреИрдирд╛рдд рдЕрдкрд╛рдЪреЗ рдФрд░ nginx рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдЧрд╛, рдФрд░ Apachevsky ports.conf рдХреЛ рднреА рдХрдорд╛рдВрдб рдХрд░реЗрдЧрд╛ (Apache рдЕрдм рдкреЛрд░реНрдЯ 80 рдХреЛ рдирд╣реАрдВ рд╕реБрдиреЗрдЧрд╛)ред рдпрджрд┐ рдПрдкрд╛рдЪреЗ рдХреЗ рддрд╣рдд рдЕрдиреНрдп рд╕рд╛рдЗрдЯреЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд░рд╣реА рдереАрдВ, рддреЛ рд╡реЗ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рджреБрд░реНрдЧрдо рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдпрджрд┐ рдХреЗрд╡рд▓ рдирдЧрдиреЗрдХреНрд╕ рдмрд╛рд╣рд░ рдлрдВрд╕ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - django-fab-рддреИрдирд╛рдд рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред



рд╕рд░реНрд╡рд░ рдкреНрд░рдмрдВрдзрди



рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдВ: fab push







рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг (рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯрд┐рдВрдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реБрдП, рдареЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ): fab prod push:pip_update,migrate







рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ: fab setup_web_server





Janga рд╕реЗрдЯрд┐рдВрдЧ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ (config.server.py): fab update_django_config







рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЖрджреЗрд╢реЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЖрддреНрдорд╛ рдореЗрдВ - рдореИрдВрдиреЗ рдлреИрдм рд░рд┐рдбреЗрдкреНрд▓реЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рддреБрд░рдВрдд рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдХреЛрдб, рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛) - рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рдлреИрдм-рдХрдорд╛рдВрдб рдХреЛ рдореВрд▓ рдХрдорд╛рдВрдб рдкрд░ рдПрдХ рдЖрд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдкреБрд╢ рдХрдорд╛рдВрдб рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ), рддреЛ рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ fabfile.py рдореЗрдВ рдПрдХ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦреЗрдВред рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХреЛрдИ рдкреНрд░рдпреЛрдЧ рдЙрдкрдпреЛрдЧреА рдФрд░ рд╕рдлрд▓ рд╣реИ, рддреЛ рдмрдЧ рдЯреНрд░реИрдХрд░ рдореЗрдВ рдЯрд┐рдХрдЯ рдЦреЛрд▓реЗрдВред



рдПрдирд╛рд▓реЙрдЧ



Django-fab-рддреИрдирд╛рдд рдХреЗ рд▓рд┐рдП рдирд┐рдХрдЯрддрдо рдПрдирд╛рд▓реЙрдЧ рдмреБрдирд╛ рд╣реИ ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рднреА рдПрдХ рдорд╣рд╛рди рдмрд╛рдд рд╣реИред рдмреБрдирд╛ рд╣реБрдЖ рдЙрдмрдВрдЯреВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдбреЗрдмрд┐рдпрдиреЛ-рдлреИрдм-рддреИрдирд╛рддреА рдореЗрдВ рдбреЗрдмрд┐рдпрди рдЙрдмрдВрдЯреВ рдХреА рддрд░рд╣ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИ: "рдпрд╣ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред" рд╣рдордиреЗ рдЙрд╕реА рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдкрд╣рд▓реЗ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдЦреЗрд▓ рдерд╛, рдлрд┐рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдХрд┐рдпрд╛ред рд╡реЗ рдФрд░ рджреВрд░ рдЪрд▓реЗ рдЧрдПред рджреВрд╕рд░реА рдУрд░, django-fab-рддреИрдирд╛рдд рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рдЫреЛрдЯрд╛ рд╣реИ, рдпрд╣ рдЫреЛрдЯрд╛ рдФрд░ рд╕рд░рд▓ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд╣реА рд░рд╣реЗрдЧрд╛ред



рдХрдИ рд▓реЛрдЧ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ github / bitbucket рдХреА рдЦреЛрдЬ рдХреА, рдФрд░ djangopackages рдореЗрдВ 11 рдФрд░ рдПрдирд╛рд▓реЙрдЧреНрд╕ (рдкрд░рд┐рд╖реНрдХрд╛рд░ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд┐рдЧреНрд░реА) рдЬреЛрдбрд╝реЗ, рдЖрдк рдпрд╣рд╛рдБ рддреБрд▓рдирд╛рддреНрдордХ рдкреНрд▓реЗрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: djangopackages.com/grids/g/deployment



рд╕рдВрджрд░реНрдн



рдЕрдк-рдЯреВ-рдбреЗрдЯ рдкреНрд░рд▓реЗрдЦрди рд╣рдореЗрд╢рд╛ рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: package.python.org/django-fab-deploy

рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рдмрдЧ рдЯреНрд░реИрдХрд░ рдХреЗ рд╕рд╛рде рднрдВрдбрд╛рд░: bitbucket.org/kmike/django-fab-deploy



рдХрдиреЗрдХреНрдЯ: рдЙрдкрдпреЛрдЧ, рд╕рд╣реА, рдЯрд┐рдкреНрдкрдгреА, рд╕реБрдЭрд╛рд╡, рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рд╕реБрдзрд╛рд░реЗрдВ рдЖрджрд┐ рд▓рд┐рдЦреЗрдВред



рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрди рд╕рдВрд╕реНрдХрд░рдг 0.4 рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреБрд░рд╛рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ; рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝реЗрдВред



Django-fab-рддреИрдирд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЖрдк 0 рд╕реЗ рдЕрдкрдиреА рдЦреБрдж рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдмреБрдирд╛ рд╣реБрдЖ, рдмрд┐рд▓реНрдбрдЖрдЙрдЯ рдпрд╛ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди 0 рд╕реЗ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, "рд╣реЛрдорд╡рд░реНрдХ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



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



All Articles