рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг (CI) рдЯреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рд╣рдо Diary.ru рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдХреБрдЫ рдЫреЛрдЯреЗ рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдордЧреНрд░реА рдЪрдпрдирд┐рдд CI рдЗрдВрдЬрди рдХреЗ рдПрдХ рднреЛрдЬрдиреАрдп рд╡рд┐рдЬреНрдЮрд╛рдкрди рдпрд╛ рдкрд╡рд┐рддреНрд░ рдпреБрджреНрдз (рдФрд░ рдПрдХ рдирд╣реАрдВ) рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рддрд░рд╣ рд▓рдЧ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереАред рд▓реЗрдЦ рднреА рдХрд┐рд╕реА рдлрд┐рдЪ рдХрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдпрд╛ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЯреЛрдкреА рд╕реЗ рдПрдХ рд▓реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдХрд╛рд░рдг рдЪрд░реНрдЪрд╛ рд╣реЛред
рдЬреЗрдирдХреАрдВрд╕
рд▓рдЧрднрдЧ 3 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЬрдм рдореИрдВ рдХрдВрдкрдиреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реБрдЖ рдерд╛, рддрдм рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдЬреЛ рдкрд╣рд▓рд╛ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛, рд╡рд╣ "рд╕рд╛рдорд╛рдиреНрдп" (рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ) рд╕реАрдЖрдИ рдЕрднреНрдпрд╛рд╕ рдерд╛ред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрдВрдкрдиреА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдерд╛ рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдордп рдХрдВрдкрдиреА рдореЗрдВ CI рдХреЛ рдХреБрдЦреНрдпрд╛рдд
рдЬреЗрдирдХрд┐рдВрд╕ рдХреА рдорджрдж рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рдЬреЛ рдПрдХ рдФрд░ рдмрдбрд╝реЗ CI рдЯреВрд▓ -
рд╣рдбрд╕рди рдХрд╛ рдСрдлрд╢реВрдЯ рд╣реИред рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рд╣рдбрд╕рди рдХреЗ рд╕рд╛рде 2008 рдХреЗ рд╡рд░реНрд╖ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рдЕрдиреБрднрд╡ рддреЗрдЬреА рд╕реЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдерд╛ред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдиреЗ рдореБрдЭреЗ рдирд╣реАрдВ рдбрд░рд╛рдпрд╛, рдореИрдВ рдЯреНрдпреВрдирд┐рдВрдЧ рдХреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рд▓реЗрдХрд┐рди рд╡рд╣ рд╕реНрдерд┐рддрд┐ рдЬрдм рдЕрдВрдд рдореЗрдВ рдпрд╣ рд╕рдм рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджрд┐рди рдореЗрдВ 20 рдмрд╛рд░ рдиреАрд▓реЗ рд░рдВрдЧ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдЧрдИ рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рдмрди рдкрд╛рдИред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╕рдордп рдареАрдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдЧрдИ рд╣реИрдВ - 4 рд╕рд╛рд▓ рдФрд░ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рднреАред
рд╣рдбрд╕рди рдФрд░ рдЬреЗрдирдХрд┐рдиреНрд╕ рджреЛрдиреЛрдВ рдореЗрдВ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рд╕реАрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЗрдВрдЬрди рд╣реИред рдЙрдирдХреА рдореБрдЦреНрдп рддрд╛рдХрдд рдЙрдирдХреА рд╡реНрдпрд╛рдкрдХрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
- рдЗрдВрдЬрди рд▓реЗ рд▓реЛ
- рд╣рдордиреЗ рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рдЬрд╛рд░ рдкреНрд▓рдЧ-рдЗрди рд▓рдЧрд╛рдП
- рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред
- рд▓рд╛рдн рдЯрд╛рдЗрдк рдХрд░реЗрдВ
рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдЬреЛ рдХрдИ рд▓реЛрдЧ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫреЗ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рднреА рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд▓рдЧрдЗрдиреНрд╕, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ: рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИ - рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рд▓рдЯрдХрд╛ рджрд┐рдпрд╛, рдЬреИрд╕реЗ рдХреНрд░рд┐рд╕рдорд╕ рдХреЗ рдкреЗрдбрд╝, рдФрд░ рдлрд┐рд░ рдмреНрд░реЗрдХ рд▓рдЧрд╛рдирд╛ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рд┐рдпрдЬрдиреЛрдВ рдореЗрдВ рдбрд╛рдВрдЯрдирд╛: рдлрд╛рдпрд░рдлреЙрдХреНрд╕, рдорд┐рд░рд╛рдВрдбрд╛, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ (рд╕реНрд╡рд╛рдж рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ)ред
рд╕рд┐рджреНрдз рд╕реНрд░реЛрддреЛрдВ рдФрд░ рдЕрддрд┐рд╕реВрдХреНрд╖реНрдорд╡рд╛рдж рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдРрд╕реА рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЬреЗрдирдХрд┐рдВрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рдерд╛ред рд╢реБрд░реВ рдореЗрдВ рдПрдХ рдЕрдзрд┐рдХрддрдо рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, .net рджреБрдирд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, .Net рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП, рд╡рд╣, рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░, рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред
.Net рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдХреНрдпрд╛ рдЖрдк LDAP рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдкреНрд▓рдЧрдЗрди рд░рдЦреЗрдВ (рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдПрд▓рдбреАрдПрдкреА рд╕реЗ рдИрдореЗрд▓ рдкрддреЗ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрд╕рд╛рдЦреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреБрдк рд╣реВрдВ)ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рддреЛрдбрд╝рдлреЛрдбрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдПрдХ рдФрд░ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрджрд┐рдЧреНрдз рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╣реБрдд рдХрдо рд╕реЗрдЯ рдХреЗ рд╕рд╛рдеред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╕рдм рдкреНрд▓рдЧ-рдЗрди рдлрд╝рд╛рд░реНрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрд╛рдЗрдЯреИрдирд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реБрдЖ (рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд▓рдЧрднрдЧ 50)ред рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдиреЛрдЯ рдХрд┐рдпрд╛ рдерд╛, рдХреЛрдб рдХрд╛ рдЦрд░рд╛рдм рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рд╕рднреА рдЬреЗрдирдХреАрдВрд╕ рдХрд╛ рдкрддрди рдЖрд╕рд╛рдиреА рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХреЛрдИ рд╕рдВрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд▓рдЧрдЗрди рдкреНрд░рдмрдВрдзрди рдкреГрд╖реНрда рдкрд░ рд╕реАрдзреЗ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЬреЗрдирдХреАрдВрд╕ рдХреЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдмрдЯрди рднреА рдореМрдЬреВрдж рд╣реИ) - рдпрд╣ рд╕рдм рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдареАрдХ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рдирддреАрдЬрддрди, рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдореБрджреНрджреЗ, .Net рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреА рдЧрд░реАрдмреА, рд╕рд╛рде рд╣реА рдмрдирд╛рдП рд░рдЦрдиреЗ рдФрд░ рдкреНрд░рд╢рд╛рд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдЧрдд рдЬреЗрдирдХреАрдВрд╕ рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХреЛ рдПрдХ рдирд┐: рд╢реБрд▓реНрдХ рд╕реАрдЖрдИ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рд╢реВрдиреНрдп рдХрд░ рджреЗрддреА рд╣реИред
рдЯреАрдо рд╢рд╣рд░
рддреБрд░рдВрдд рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ, рдореБрдЭреЗ рдЗрдВрдЬрди рдХреА рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реБрдЖред рдореБрдЭреЗ рддреБрд░рдВрдд рдкрддрд╛ рдерд╛ рдХрд┐ рдореИрдВ
JetBrains рдЯреАрдо рд╕рд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдХрд╛рд░рдг рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИрдВ:
- рдореИрдВ рдЙрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдХрдИ рдмрд╛рд░ рд▓рд╛рдЧреВ рдХрд░ рдЪреБрдХрд╛ рд╣реВрдВ;
- рдкреНрд░рд╢рд╛рд╕рди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ;
- рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ .Net рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рд┐рдП;
- рдЖрдИрдбреАрдИ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЙрддреНрдХреГрд╖реНрдЯ рдПрдХреАрдХрд░рдг;
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди (рдпрд╣ рдЬреЗрдирдХреАрдВрд╕ рдореЗрдВ рдмрд╣реБрдд рдХрдореА рдереА);
- рдЬреЗрдЯ рджрд┐рдорд╛рдЧ рдХреА рдкрд░реНрдпрд╛рдкреНрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рдиреАрддрд┐: рдЯреАрдо рд╕рд┐рдЯреА рдХреЗ рдореБрдХреНрдд рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ: 20 рдмрд┐рд▓реНрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ 3 рдмрд┐рд▓реНрдб рдорд╢реАрди;
- рдЦреИрд░, рдФрд░ рдЕрдиреНрдп рдЙрдкрд╣рд╛рд░ред
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдг рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдпрд╛рдж рд░рд╣рддрд╛ рд╣реИ: рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЧрд░реАрдмреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИред рддрдм рдореИрдВ рддреБрд░рдВрдд рд╕рднреА рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдУрд▓рдВрдкрд┐рдХ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдЗрд╕ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЛ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рди рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореИрдВ рдЗрд╕реЗ рдЧрд╣рд░рд╛ рдЕрд░реНрде рджреЗрддрд╛ рд╣реВрдВред рдУрдкрди рд╕реЛрд░реНрд╕ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдФрд░ рдХрдИ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдХреНрддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рд░ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╣реИ: 90% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕рдорд╛рдзрд╛рди рдПрдХ рд╕рдорд╛рди рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЦреЛ рджреЗрдЧрд╛ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ
CC.Net рдФрд░ рдЕрдиреНрдп рдХреА рдУрд░ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛ред
рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд╕рд╡рд╛рд▓ рдЙрда рд╕рдХрддрд╛ рд╣реИ: рдПрдЯрд▓рд╕рд┐рдпрди рдмрд╛рдВрд╕ рдпрд╛ рдЯреАрдПрдлрдПрд╕ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЯреАрдПрдлрдПрд╕ рдЪреБрдирдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛ рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд▓рддреЗ рд╣реБрдП рдкреБрд▓, рдФрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрд╛рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рдЬрд▓реНрдж 100% .рдиреЗрдЯ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рдЬрд╛рдПрдЧреАред рд╣рд╛рдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдмреИрд╕рд╛рдЦреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдФрд░ рдлрд┐рд░ рд╕реЗ рд╕рдордп рдЦреЛрдирд╛ред
рдПрдЯрд▓рд╕рд┐рдпрди рдмрд╛рдВрд╕ - рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдмреБрд░рд╛ рдирд╣реАрдВ, рдЬреАрд░рд╛ рдХреЗ рд╕рд╛рде рдорд╣рд╛рди рдПрдХреАрдХрд░рдг, рдЕрдЪреНрдЫрд╛ рдпреВрдПрдХреНрд╕ред рд▓реЗрдХрд┐рди рдкреВрд░реНрд╡-рдкреНрд░рддрд┐рдмрджреНрдз рдмрд┐рд▓реНрдбрд░реЛрдВ рдХреА рдХрдореА рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЦрд░рд╛рдм рдПрдХреАрдХрд░рдг, рдиреБрдЧреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдХрдореА рдФрд░ рдЕрдиреНрдп рдЫреЛрдЯреА рдЪреАрдЬреЛрдВ рдиреЗ рдЯреАрдо рд╕рд┐рдЯреА рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рддрд░рд╛рдЬреВ рдХреЛ рдмрд╛рдВрдз рджрд┐рдпрд╛ред
рдпрд╣ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрдЧрд╛ рдХрд┐ рдЯреАрдо рд╕рд┐рдЯреА рдЙрд╕реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЬреЗрдирдХрд┐рдиреНрд╕ / рд╣рдбрд╕рди рдХреЛ рджреЛрд╖реА рдард╣рд░рд╛рдпрд╛ рд╣реИ - рдпрд╣ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рдФрд░ рдЗрд╕рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИред рд╣рд╛рдВ, рдпрд╣ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде: рдорд╛рдирдХ рдЯреАрдорд╕рд┐рдЯреА рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдЬреЗрдирдмреНрд░рд┐рди рджреНрд╡рд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрддреНрдкрд╛рдж рдХреА рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╡реЗ рдмрд╛рдЬрд╛рд░ рдкрд░ рдПрдХ рдореБрдЯреНрдареА рднрд░ рд╢рд┐рд▓реНрдк рдлреЗрдВрдХрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреИрд╕реЗ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреЛ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ JetBrains рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╕рдВрдж рдЖрдпрд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рд╕реЗ рд╕рдВрднрд╛рд▓ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрддрдо рдЖрд░рд╛рдо рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдкреНрд░рд╢рд╛рд╕рди рдХреЗ рд╕рднреА рдХрд╛рдВрдЯреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рджреЗрдЦрднрд╛рд▓ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдкреЗрд╢реЗрд╡рд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреА рд╢реБрд░реВрдЖрдд
рдореИрдВ рдЯреАрдорд╕рд┐рдЯреА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рдпрд╣ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред
рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2008 рдЖрд░ 2 рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ 2008 рдЖрд░ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдИред Ms Sql рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдореЗрдВ, рд╡реЗ рд╣рдореЗрд╢рд╛ рдпреВрдирд┐рдХреЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдерд╛ рдЬрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд░реВрд╕реА рдореЗрдВ рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреА рдереАред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛рдлреА рд╕рд░рд▓рддрд╛ рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдИ рдереАред рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ,
vcs_history рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ,
рд╡рд┐рд╡рд░рдг рд╕реНрддрдВрдн рдкреНрд░рдХрд╛рд░ рдХреЛ
varchar (max) рд╕реЗ
nvarchar (рдЕрдзрд┐рдХрддрдо) рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рдВ, рдЗрд╕рд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЙрдиреНрдирдпрди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдореБрдЦреНрдп рдХрдард┐рдирд╛рдИ рдЯреАрдо рд╕рд┐рдЯреА рд╕реЗрдЯрдЕрдк рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреБрдж рдереЗред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рд╕реАрдЖрдИ рдХреЗ рдЯреВрдЯрдиреЗ рдХреЛ рдПрдХ рдЖрдЙрдЯ-рдСрдл-рдж-рдмреЙрдХреНрд╕ рдШрдЯрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрднрд╡ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рддреБрд░рдВрдд рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рдиреБрд╕реНрдЦрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд┐рдпрдВрддреНрд░рдгред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рд▓реЛрдЧреЛрдВ рдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЙрдирдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореБрдЭреЗ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдкрд╣рд▓рд╛ рдирд┐рд░реНрдорд╛рдг .Net рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдПрдХреАрдХрд░рдг рдирд┐рд░реНрдорд╛рдг рд╣реИред рдЕрдзрд┐рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд┐рд▓реНрдб рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛, рдиреАрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рдереА - svn рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд┐рдЯ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдирд┐рдХрд▓рд╛, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдХреАрдХрд░рдг рдмрд┐рд▓реНрдб рдиреЗ Asp.Net рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреАред
рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдереЛрдбрд╝реА рдЪрд░реНрдЪрд╛ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рд╕рднреА рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рдирдпрд╛
CI рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдЧрд▓рд╛
рд▓рдХреНрд╖реНрдп рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛
<Target Name="AfterBuild" Condition="'$(Configuration)' == 'CI Build'"> <AspNetCompiler VirtualPath="temp" Clean="true" PhysicalPath="$(ProjectDir)" /> </Target>
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХрдорд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ Asp.Net рд╕рдВрдХрд▓рди рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХреАрдХрд░рдг рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереАред рдЬрдм Asp.Net рд╕рдВрдХрд▓рди рдХреЛ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдкреВрд░реНрдг рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдордп 3 рдорд┐рдирдЯ рд╕реЗ 20 рддрдХ рдмрдврд╝ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдмрджреНрдз рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХреЛ рдирдХрд╛рд░ рджрд┐рдпрд╛ред рд╣рдореЗрдВ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЗрд╕рд▓рд┐рдП, рдПрдХреАрдХрд░рдг рдирд┐рд░реНрдорд╛рдг рдХреЛ 2 рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛:
- рд╕рдВрдХрд▓рди рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВ
- Asp.Net рд╕рдВрдХрд▓рди
TeamCity рддрдерд╛рдХрдерд┐рдд рд╕реНрдиреИрдкрд╢реЙрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдПрдХреАрдХрд░рдг рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╕рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдФрд░ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ asp.net рд╕рдВрдХрд▓рди рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЙрди рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдмрд╣реБрдд рд╣реА рд╕реНрдиреИрдкрд╢реЙрдЯ рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рди рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрдХреАрдХрд░рдг рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЕрд░реНрдерд╛рдд рд╕реНрд░реЛрдд рдХреЗ рдЙрд╕реА рд╕рдВрд╢реЛрдзрди рдкрд░ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдЧрд░ рдПрдХреАрдХрд░рдг рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓ рд░рд╣рд╛ рддреЛ рд╣рдордиреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ Asp.Net рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде рдорд╢реАрдиреЛрдВ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ msbuild рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдорд┐рд▓реАрдВред
рдПрдХреАрдХрд░рдг рдмрд┐рд▓реНрдб рдФрд░ рдЯреЗрд╕реНрдЯ рд░рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рд╕реНрдерд╛рдкрдирд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдорд╕рд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдмрд┐рд▓реНрдЯ-рдЗрди рдЖрд░реНрдЯрд╡рд░реНрдХ рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЕрд╕реЗрдВрдмрд▓реА рдЖрд░реНрдЯрд╡рд░реНрдХ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЗрд╕реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реЗрдВред рдЗрди рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдпреВрдЖрдИ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╛ REST API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
TeamCity рд╕реЗ рдкрд╣рд▓реЗ, PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкреИрдХреЗрдЬ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ рдХреЗрд╡рд▓ 7Zip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджрд┐рдпрд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдерд╛ (рдЪреВрдВрдХрд┐ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрд╣реБрдд рдмрдбрд╝реА рдереА)ред рдЗрд╕рд▓рд┐рдП, рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдиреЗ рдереЛрдбрд╝реА рдирд┐рд░рд╛рд╢рд╛ рдХреАред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рд░реНрдорд┐рдд рдЗрди рдЖрд░реНрдХрд╡рд░реНрд╕ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдиреЗ 7Zip рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдкреАрдбрд╝рди / рдЧрддрд┐ рдЕрдиреБрдкрд╛рдд рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ред рдирд┐рдХрдЯрддрдо рдерд╛ tar.gz, рд▓реЗрдХрд┐рди рдЕрднреАред рджреВрд╕рд░реЗ, рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛, рдЬреЛ рдмреЗрд╣рдж рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛ рдФрд░ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд╡реИрд╕реЗ, рдЖрдк
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ )ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 500 рдПрдордмреА рдерд╛, рдЬрд┐рд╕рдиреЗ рдпреВрдЖрдИ рдХреЛ рд╢рд╛рд╢реНрд╡рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред
рд╣рдордиреЗ рдПрдХ рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рджрдлрди рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдЕрднреА рднреА рдкреЙрд╡рд░рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЯреАрдорд╕рд┐рдЯреА рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдзрд╛рд╡рдХ рд╣реИред
NuGet
рдлрд┐рдЯрд┐рдВрдЧ рдореЗрдВ рд╕реЗ рдПрдХ, рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд░реБрдЪрд┐ рдереА, рдЯреАрдордХрд┐рдЯ рдХреЗ рдЕрдВрджрд░ рдиреБрдЧреЗрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рд┐рдд рд╕рдорд░реНрдерди рдерд╛ред рдореБрдЭреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдПрдХ рдХреЙрд░реНрдкреЛрд░реЗрдЯ NuGet рд╕рд░реНрд╡рд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЬреЛрдбрд╝ рдХреЛ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдХреЗрд╡рд▓ рдЖрдВрддрд░рд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ NuGet рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рддреЛ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП CI рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ - рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдмрдЬрд╛рдп - рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред
TeamCity рджреЛ NuGet Feed'a рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдПрдХ рдЕрддрд┐рдерд┐, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛, рджреВрд╕рд░рд╛, TeamCity рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рдеред

рдлрд╝реАрдб рдХреЛ Visual Studio рдФрд░ NuGet Restore рдкреИрдХреЗрдЬ (NuGet.targets file) рджреЛрдиреЛрдВ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдзреВрд░реНрдд рдкрд░ рдПрдХ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
<ItemGroup Condition=" '$(PackageSources)' == '' "> <PackageSource Include="http://teamcity/guestAuth/app/nuget/v1/FeedService.svc/" /> </ItemGroup>
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдорд░рд╣рдо рдореЗрдВ рдПрдХ рдордХреНрдЦреА рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред рдПрдореНрдмреЗрдбреЗрдб NuGet рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ UI рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, JetBrains рдореЗрдВ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ NuGet рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреА рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВред рдЙрдирдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╡реЗ
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдиреБрдЧреЗрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд╣реАрдВ рд╣реИрдВред
рдЖрдк рдлрд╝реАрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ NuGet рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреЛ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред
рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдПрд╕рд╡реАрдПрди рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рднрдВрдбрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдирдП рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдиреЗ рд╕рднреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ред

рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдкред

рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рд╕рднреА рдкреИрдХреЗрдЬ рдлрд╝реАрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЧрдПред

рдХреЗрд╡рд▓ рд╕рдорд╕реНрдпрд╛ рдлрд╝реАрдб рд╕реЗ рдкреИрдХреЗрдЬ рдирд┐рдХрд╛рд▓ рд░рд╣реА рдереАред рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд TeamCity рд╕рдлрд╛рдИ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм svn рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреИрдХреЗрдЬ рдкрд┐рдЫрд▓реЗ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдХрднреА рднреА рдХрд░рдШрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдлрд╝реАрдб рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ NuGet рдкреИрдХреЗрдЬ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рд╢реЗрд╖
NuGet Pack рд░рдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬрд┐рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рдЕрдВрддрднрд╛рд╖рдг
рдпрд╣ рд╕реАрдЖрдИ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд┐рдП рдЧрдП рдФрд░ рдирд┐рдпреЛрдЬрд┐рдд рдХрд┐рдП рдЧрдП рд╕рднреА рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ: рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реНрд╡рдд: рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреА рдСрдЯреЛ-рдкреАрдврд╝реА, рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрджрд┐, рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдмрд╛рд╣рд░ рдмрдиреЗ рд╣реБрдП рд╣реИрдВ, рдФрд░ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
PS рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдпрд╣ рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХрдВрдкрдиреА Diary.ru рдХреЛ JetBrains рд╕реЗ рдХреЛрдИ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд░рд┐рдпрд╛рдпрддреЗрдВ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИрдВред
рдЕрдиреБрдЪреНрдЫреЗрдж рд▓реЗрдЦрдХ: рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд▓реБрдХрд╛рд╢реЛрд╡, рд╡рд┐рдХрд╛рд╕ рд╡рд┐рднрд╛рдЧ рдХреЗ рдкреНрд░рдореБрдЦ, рдбрд╛рдпрд░реАрд░реА ред13ред