рдпрд╣ рдЖрд▓реЗрдЦ рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдПрд╕рд╡реАрдПрди рдореЗрдВ рдХреБрдЫ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрдХ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рд╣реИ, рдЬрд┐рд╕рдХреА рдкрд╣реБрдВрдЪ рдПрдлрдЯреАрдкреА рдФрд░ рдПрд╕рд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕ рдкрд░ рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдореЗрд░реЗ рд▓рд┐рдП рддреИрдирд╛рддреА рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рдореИрдВ рдмрд╕ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдбреЗрд╡рд▓рдкрд░ рдХреЛрдб рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рддреА рд╣реИ (рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ), рдЬреЛ рдЕрджреНрдпрддрди рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддреА рд╣реИ рдФрд░ рдкреБрд░рд╛рдиреЗ рдХреЛ рд╣рдЯрд╛ рджреЗрддреА рд╣реИред рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдкрдиреЗ рдЖрдк рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореИрдВ BuildServer CruiseControl (рдЬрд╛рд╡рд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдб рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред
рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ
- LAN рдкрд░ рд╕рд░реНрд╡рд░
- SVN рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА, svn.exe рдиреЗ PATH рдореЗрдВ рдЬреЛрдбрд╝рд╛
- рд╕реНрдерд╛рдкрд┐рдд рдЕрдЬрдЧрд░ 2.5, python.exe рдХреЛ PATH рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ
- ssh рддрдХ рдкрд╣реБрдБрдЪред рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд╛рдЗрдмрд░рд╡рд┐рди рдХрд╛ рдПрдХ рдЫреАрди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ ftp + ssh рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
- рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░
- ssh, ftp рдЙрдард╛рдпрд╛
- рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ
- рд╕рд░реНрд╡рд░ рдлрд╝реЛрд▓реНрдбрд░ C: \ Program Files \ CruiseControl \ Projects \ Project1 рдХреЛрдб рдХреА рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЛ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рдХреЛрдб рдФрд░ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрде C: \ svn \ apply_svn_changes \ publish_web_site.py рдкрд░ рд╕реНрдерд┐рдд рд╣реИ
- рдЬрд┐рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдкрд╛рд╕ ftp рдФрд░ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╛рдЗрд▓реЗрдВ рднреА рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред
- рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рд╕рд╛рдЗрдЯ рд╡реЗрдм / рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ ftp рд╣реЛрдо рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрдерд┐рдд рд╣реИред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
> python C:\svn\apply_svn_changes\publish_web_site.py -c "C:\Program Files\CruiseControl\projects\project1\source" --host ftp_user@production.com -p ftp_password -d sites/ms
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ "C: \ Program Files \ CruiseControl \ Projects \ Project1 \ source" , рдЬрд╣рд╛рдВ рдпрд╣ рдХреЛрдб рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХреЛрдб рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкрд╛рддрд╛ рд╣реИред рд╡рд╣ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдпрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣
svn diff
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╡рд╣ рдПрдХ рдпреЛрдЬрдирд╛ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдпреЛрдЬрдирд╛ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпреЛрдЬрдирд╛ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИ, ftp рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
рдлрд┐рд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред
рдкрд╛рд╕реНрдЯрдмреАрди рдкрд░ рдореБрдЦреНрдп рдХреЛрдб, рдбрд┐рдкреЙрдЬрд┐рдЯ рдкрд░ рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рднреА --help рд╕реНрд╡рд┐рдЪ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
python "C:\svn\apply_svn_changes\publish_web_site.py" --help
1. ssh рдХреЛ рдХреЗрд╡рд▓
rm -rf ./[...]
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ (
rm -rf ./[...]
(рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рдордЧреНрд░ рдЪрд┐рдХрдирд╛рдИ рдкрд░ рдПрдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╡реГрджреНрдзрд┐ рд╣реИ, рд╣реИрдХ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдерд╛)ред