рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рдФрд░ рдЯрд╛рдЗрдорд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди

1 рдирд╡рдВрдмрд░, 2017 рдХреЛ, рдореИрдВ рдЯрд╛рдЗрдорд╡реЗрдм рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдХрд╛ рд▓реАрдбрд░ рдмрди рдЧрдпрд╛ред рдФрд░ 12 рдирд╡рдВрдмрд░, 2018 рдХреЛ, рд╡рд┐рднрд╛рдЧ рдХреЗ рдкреНрд░рдореБрдЦ рдиреЗ рдкреВрдЫрд╛ рдХрд┐ рд╣рд╛рдмреНрд░рд╛рд╣рдм рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдХрдм рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдкрдгрди рд╡рд┐рднрд╛рдЧ рдиреЗ рдкреВрдЫрд╛, рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдП рдереЗ, рдФрд░ рд╕рд╛рдордЧреНрд░реА рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдерд╛)

рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдПрдХ рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕, рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╡рд┐рддрд░рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдХреИрд╕реЗ рдмрджрд▓ рдЧрдИ рд╣реИрдВред рд╡рд┐рд░рд╛рд╕рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдбреЙрдХрдЯрд░, рдЧрд┐рдЯрд▓реИрдм рдФрд░ рд╣рдо рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВред

Timeweb Hoster 2006 рд╕реЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИред рдЗрд╕ рд╕рдордп, рдХрдВрдкрдиреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдХ рдЕрдиреВрдареА рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИ рдЬреЛ рдЗрд╕реЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд┐рдпреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдкрд╣рдЪрд╛рди рджреЗрдЧреАред Timeweb рдХреЗ рдЕрдкрдиреЗ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдПрдХ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдИрдореЗрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓, VDS, рдПрдХ рд╕рдВрдмрджреНрдз рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдЗрд╕рдХреЗ рд╕рдорд░реНрдерди рдЙрдкрдХрд░рдг рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рд╣реИред

рд╣рдорд╛рд░реЗ рдЧрд┐рдЯрд▓реИрдм рдореЗрдВ рд▓рдЧрднрдЧ 250 рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ : рдпреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЖрдВрддрд░рд┐рдХ рдЙрдкрдХрд░рдг, рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рджрд░реНрдЬрдиреЛрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ: рд╡реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ, рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВред

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

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

рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖ рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВ рдмрддрд╛рдКрдВрдЧрд╛ред

рд╡реИрдЧреНрд░рд╛рдВрдд тЖТ рдбреЛрдХрд░-рд░рдЪрдирд╛


рд╕рдорд╕реНрдпрд╛


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

- рдкреБ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ 3.0,
- рдкреАрдпреВ рд╡реАрдбреАрдПрд╕ 2.0,
- рдкреБ рд╡реЗрдмрдорд╛рд╕реНрдЯрд░реНрд╕,
- STAFF (рдЯреВрд▓ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ),
- рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ (рдорд╛рдирдХреАрдХреГрдд рдлреНрд░рдВрдЯ-рдПрдВрдб рдШрдЯрдХреЛрдВ рдХрд╛ рдбреЗрдореЛ)ред

рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡реИрдЧреНрд░рдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реИрдЧреНрд░рдВрдЯ рдиреЗ ansible рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреА рдорджрдж рд▓реА рдФрд░ рд╕реНрд╡рдЪреНрдЫ рд╕рдордп рдХреЗ рдПрдХ рджрд┐рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдореБрдЭреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдмреЙрдХреНрд╕ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдерд╛ (рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рд░ рдПрдХ рдкрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ), рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рдЕрдВрджрд░ рдХрдВрд╕реЛрд▓ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдирд╛рд╡рд╢реНрдпрдХ рдерд╛: рддреБрдЪреНрдЫ рдХрдорд╛рдВрдб рдЬреИрд╕реЗ рдПрдирдкреАрдПрдо / рдХрдВрдкреЛрдЬрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд╛рдлреА рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛ред

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

рдирд┐рд░реНрдгрдп


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

рдирд┐рд╖реНрдХрд░реНрд╖


рдкреЗрд╢реЗрд╡рд░реЛрдВ рд╕реЗ:

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

make install-dev make run-dev 

рдХреБрдЫ рд╕рдордЭреМрддреЗ рдереЗ:

- рдореБрдЭреЗ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрдб рдХрдорд╛рдВрдб (рдХрдВрдкреЛрдЬрд░, рдПрдирдкреАрдПрдо, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рд╢реЗрд▓ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд▓рд┐рдЦрдирд╛ рдерд╛ред рд╡реЗ, docker-compose.yml рдХреА рддрд░рд╣, рд╡реИрдЧреНрд░рд╛рдВрдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдХ рдХреЗ рддрд╣рдд рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рд╢рд╛рдпрдж рд▓рд┐рдирдХреНрд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рдбреЙрдХрдЯрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рдг рдХреЛ рдЪрд▓рд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдордЭреМрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЯреАрдо рдХреЗрд╡рд▓ рдбреЗрдмрд┐рдпрди-рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдпрд╣ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕реАрдорд╛ рд╣реИ,
- рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ github.com/jwilder/nginx-proxy рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рдмреИрд╕рд╛рдЦреА, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░, рдЬрд┐рд╕реЗ рдХрднреА-рдХрднреА рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рдВ, рдЯреАрдо рдореЗрдВ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдмрд╛рдд рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдореЗрдХрдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ 95% рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдЧрд╛рд░рдВрдЯреАрдХреГрдд рд╕рдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВред

newcp-dev тЖТ cp-рд╕реНрдЯреИрдВрдбреНрд╕


рдпреЗ рдЕрдЬреАрдм рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреНрд░рдорд╢рдГ рдирд┐рдпрдВрддреНрд░рдг рдкреИрдирд▓реЛрдВ, рдирдП рдФрд░ рдкреБрд░рд╛рдиреЗ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд╕реНрдЯреИрдВрдб рдХреЗ рд╕рд╛рде рдорд╢реАрдиреЛрдВ рдХреЗ рдирд╛рдо рд╣реИрдВред

рд╕рдорд╕реНрдпрд╛


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

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

рдирд┐рд░реНрдгрдп


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

рдирд┐рд╖реНрдХрд░реНрд╖


рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдм рд╕реНрдерд╛рдиреАрдп рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рдЯреАрдорд╕рд┐рдЯреА тЖТ рдЧрд┐рдЯрд▓реИрдм-рд╕реАрдЖрдИ


рд╕рдорд╕реНрдпрд╛рдУрдВ


TeamCity рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдХ рд╢реНрд░рдорд╕рд╛рдзреНрдп рдФрд░ рдХреГрддрдШреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред CI рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЛрдб рд╕реЗ рдЕрд▓рдЧ рдХрд░рдХреЗ xml рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрдиред рд╣рдордиреЗ рдЯреАрдорд╕рд┐рдЯреА рдПрдЬреЗрдВрдЯреЛрдВ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рднреА рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред

рдирд┐рд░реНрдгрдп


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

рдкрд░рд┐рдгрд╛рдо


рд╡рд░реНрд╖ рдХреЗ рджреМрд░рд╛рди, рдЯреАрдорд╕рд┐рдЯреА рджреНрд╡рд╛рд░рд╛ рдЗрдХрдЯреНрдареЗ рдХрд┐рдП рдЧрдП рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЧрд┐рдЯрд▓реИрдм-рд╕реАрдЖрдИ рдореЗрдВ рдЪрд▓реЗ рдЧрдПред рд╣рдореЗрдВ рд╕реАрдЖрдИ / рд╕реАрдбреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛ред
рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛:

рдЕрдВрдЬреАрд░ред 1. рд╕реБрд╡рд┐рдзрд╛-рд╢рд╛рдЦрд╛: рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд╛рдВрдЪ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЬрдм рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд░реЗрдбрдорд╛рдЗрди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рднреЗрдЬрддрд╛ рд╣реИред рдЗрд╕ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреИрдВрдб рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдХрд╛рд░реНрдпред
рдЕрдВрдЬреАрд░ред 1. рд╕реБрд╡рд┐рдзрд╛-рд╢рд╛рдЦрд╛: рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд╛рдВрдЪ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЬрдм рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд░реЗрдбрдорд╛рдЗрди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рднреЗрдЬрддрд╛ рд╣реИред рдЗрд╕ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреИрдВрдб рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдХрд╛рд░реНрдпред

рдЕрдВрдЬреАрд░ред 2. рдХреЛрдб рдлреНрд░реАрдЬ рдХреЗ рд╕рд╛рде рдЕрдиреБрд╕реВрдЪрд┐рдд рдмрд┐рд▓реНрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ (рдЪреЗрдХрдЖрдЙрдЯ: рдЖрд░рд╕реА): рдХреЛрдб рдлреНрд░реАрдЬ рдХреЗ рд╕рд╛рде рд╢реЗрдбреНрдпреВрд▓ рдкрд░ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд┐рдпрдВрддреНрд░рдг рдкреИрдирд▓реЛрдВ рдХреЗ рд╕реНрдЯреИрдВрдб рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╣реЛрддреА рд╣реИред
рдЕрдВрдЬреАрд░ред 2. рдХреЛрдб рдлреНрд░реАрдЬ рдХреЗ рд╕рд╛рде рдЕрдиреБрд╕реВрдЪрд┐рдд рдмрд┐рд▓реНрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ (рдЪреЗрдХрдЖрдЙрдЯ: рдЖрд░рд╕реА): рдХреЛрдб рдлреНрд░реАрдЬ рдХреЗ рд╕рд╛рде рд╢реЗрдбреНрдпреВрд▓ рдкрд░ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд┐рдпрдВрддреНрд░рдг рдкреИрдирд▓реЛрдВ рдХреЗ рд╕реНрдЯреИрдВрдб рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╣реЛрддреА рд╣реИред

рдЕрдВрдЬреАрд░ред 3. рдЯреИрдЧ рдкрд╛рдЗрдкрд▓рд╛рдЗрди: рдирд┐рдпрдВрддреНрд░рдг рдкреИрдирд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рд░рд┐рд╣рд╛рдИред рд░реЛрд▓рдмреИрдХ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдХрд╛рд░реНрдпред
рдЕрдВрдЬреАрд░ред 3. рдЯреИрдЧ рдкрд╛рдЗрдкрд▓рд╛рдЗрди: рдирд┐рдпрдВрддреНрд░рдг рдкреИрдирд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рд░рд┐рд╣рд╛рдИред рд░реЛрд▓рдмреИрдХ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдХрд╛рд░реНрдпред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, gitlab-ci рд╕реЗ рд╕реНрдЯреЗрдЯрд╕ тЖТ рд░рд┐рд╡реНрдпреВ тЖТ QA, рд╕реНрдЯреЗрдЬ рдореЗрдВ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдФрд░ рдЕрдкрдбреЗрдЯреНрд╕ рдФрд░ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдФрд░ рд░реЛрд▓рдмреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди тЖТ рд░рд┐рд╡реНрдпреВ тЖТ QA рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдФрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рдирд┐рдпреБрдХреНрддрд┐ рд╣реИред

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

рдирд┐рд╖реНрдХрд░реНрд╖: рд╕реНрд╡рдЪрд╛рд▓рди рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ рд╕рднреА рдЯреАрдореЛрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕реНрддрд░ рдкрд░ рд╕рдорд╛рди рд╣реИ - рдФрд░ рднреА рдмреЗрд╣рддрд░ред рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЛ рд╕реБрдВрджрд░ рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдЬрдирддрд╛ рдХрд╛ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред

рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреА рдЕрд╡рдзрд┐: 80 рдорд┐рдирдЯ тЖТ 8 рдорд┐рдирдЯ


рдзреАрд░реЗ-рдзреАрд░реЗ, рд╣рдорд╛рд░реЗ рд╕реАрдЖрдИ рдиреЗ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдкрд░реАрдХреНрд╖рдХреЛрдВ рдХреЛ рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рд╣реБрдИ: рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлрд┐рдХреНрд╕ рдХреЛ рдПрдХ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдВрдЯреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛:

рдЕрдВрдЬреАрд░ред 4. рдкрд╛рдЗрдк рд▓рд╛рдЗрди 80 lvl рдиреНрдпреВрдирддрдо рдЕрд╡рдзрд┐ред
рдЕрдВрдЬреАрд░ред 4. рдкрд╛рдЗрдк рд▓рд╛рдЗрди 80 lvl рдиреНрдпреВрдирддрдо рдЕрд╡рдзрд┐ред

рдореБрдЭреЗ рдХрдИ рджрд┐рдиреЛрдВ рддрдХ рдзреАрдореЗ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдЦреЛрдЬрдиреЗ рдкрдбрд╝реЗред

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реНрдерд╛рди npm рд╕рдВрдХреБрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рдереЗред рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рд░реНрди рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ 7 рдорд┐рдирдЯ рддрдХ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрдЪрд╛рдпрд╛ред

рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдордВрдЪ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕реНрд╡рдд: рдордВрдЪрди рдЕрдкрдбреЗрдЯ, рдкрд╕рдВрджреАрджрд╛ рдореИрдиреБрдЕрд▓ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред

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

рдХреИрдкрд┐рд╕реНрдЯреНрд░рд╛рдиреЛ тЖТ рддреИрдирд╛рддреАрдХрд░реНрддрд╛


рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдФрд░ рдХреНрдпреВрдП-рд╕реНрдЯреИрдВрдб рдкрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП, рдХреИрдкрд┐рд╕реНрдЯреНрд░рд╛рдиреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдФрд░ рд▓реЗрдЦрди рдХреЗ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЗрд╕ рдЯреВрд▓ рдХрд╛ рдореБрдЦреНрдп рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ: рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЯрд╛рд░рдЧреЗрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрд▓реЛрди рдХрд░рдирд╛ рдФрд░ рд╡рд╣рд╛рдВ рд╕рднреА рдХрд╛рд░реНрдп рдХрд░рдирд╛ред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рддреИрдирд╛рддреА рдХреЛ QA рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╡реИрдЧреНрд░рд╛рдВрдЯ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ ssh рдХреАрдЬрд╝ рдереАрдВред рдлрд┐рд░, рдЬреИрд╕рд╛ рдХрд┐ рд╡реИрдЧреНрд░реИрдВрдЯ рдиреЗ рддреНрдпрд╛рдЧ рджрд┐рдпрд╛, рдХреИрдкрд┐рд╕реНрдЯреНрд░рд╛рдиреЛ рдПрдХ рдЕрд▓рдЧ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓реЗ рдЧрдПред рдЕрдм рдХрдВрдЯреЗрдирд░ рдХреЛ рдХреИрдкрд┐рд╕реНрдЯреНрд░рд╛рдиреЛ рдХреЗ рд╕рд╛рде рдЧрд┐рдЯрд▓реИрдм-рд░рдирд░реНрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЯреИрдЧ рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХреБрдВрдЬреА рд╣реЛрдиреЗ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреВрд░реА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛:

a) рдХреЙрдореНрдмреИрдЯ рд╕рд░реНрд╡рд░ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдиреЛрдб / gulp) рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИ,
рдмреА) рд╕рдВрдЧреАрддрдХрд╛рд░, рдПрдирдкреАрдПрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрджреНрдпрддрд┐рдд рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдиреЛрдб, рдЖрджрд┐ред

рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ gitlab-runner) рдкрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рдФрд░ рддреИрдпрд╛рд░ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд▓рдХреНрд╖реНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред рдпрд╣ рд▓рдбрд╝рд╛рдИ рд╕рд░реНрд╡рд░ рдХреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рд╡рд┐рджреЗрд╢реА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛ред

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

Gitflow: рдЖрд░рд╕реА-рд╢рд╛рдЦрд╛рдПрдБ тЖТ рдЯреИрдЧ


рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдЪрдХреНрд░реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рдВрдЪ рджрд┐рдиреЛрдВ рдХреЗ рджреМрд░рд╛рди, рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: рд╡рд┐рдХрд╛рд╕ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдирд┐рдпреЛрдЬрд┐рдд рд╕реБрдзрд╛рд░реЛрдВ рдФрд░ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреА рд░рд╛рдд, рдХреЛрдб рдлреНрд░реАрдЬ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рд╕реЛрдорд╡рд╛рд░ рдХреЛ, рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдХрд╛рд░реНрдп рд╕рдкреНрддрд╛рд╣ рдХреЗ рдордзреНрдп-рдЕрдВрдд рддрдХ, рдПрдХ рд░рд┐рд▓реАрдЬ рд╣реЛрддреА рд╣реИред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ rc18-47 рдлреЙрд░реНрдо рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╢рд╛рдЦрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд░рд┐рд▓реАрдЬ рдЙрдореНрдореАрджрд╡рд╛рд░ 2018 рдХрд╛ 47 рд╡рд╛рдВ рд╕рдкреНрддрд╛рд╣ рд╣реИред рдХреЛрдб рдлреНрд░реАрдЬ рдЖрд░рд╕реА рд╢рд╛рдЦрд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрдирд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рд╛рд▓ рдЕрдХреНрдЯреВрдмрд░ рдореЗрдВ, рд╣рдордиреЗ рдЯреИрдЧ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдЯреИрдЧ рдкрд╣рд▓реЗ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рддрдереНрдп рдХреЗ рдмрд╛рдж, рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЖрд░рд╕реА рдХреА рд░рд┐рд╣рд╛рдИ рдФрд░ рд╡рд┐рд▓рдп рдХреЗ рдмрд╛рджред рдЕрдм рдЯреИрдЧ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддреИрдирд╛рддреА рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдлреНрд░реАрдЬрд┐рдВрдЧ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдорд░реНрдЬ рд╣реИред

рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ git рдФрд░ рдЪрд░ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕реНрдерд╛рдУрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓рд┐рдпрд╛ред
рдЕрдм рд╣рдо "рдкреБрд▓рд┐рдВрдЧ" рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд┐рдЫрдбрд╝ рд░рд╣реЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рди, рдЙрдирдХрд╛ рдЕрдиреБрдХреВрд▓рди, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рдХрд╛рд╕, рдПрдХ рдирд┐рд░рдВрддрд░ рдорд╛рдорд▓рд╛ рд╣реИ: рдЬрдм рддрдХ рдЙрддреНрдкрд╛рдж рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЯреАрдо рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рддрдм рддрдХ рдЗрд╕реА рдХрд╛рд░реНрдп рд╣реЛрдВрдЧреЗред рдирдП рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП: рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЧрд┐рдЯрд▓реИрдм-рд╕реАрдЖрдИ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдЫрд╡рд┐

Source: https://habr.com/ru/post/hi432150/


All Articles