рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЦреБрдж рдХреЛ рдЗрдиреНрд╡реЗрдВрдЯреЛрд╕ рдХреЗ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд╕рд┐рдЧрд╛рдЪреЗрд╡ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдкреНрд░рддрд┐рд▓реЗрдЦ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ "рдбреЙрдХрдЯрд░ + рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛"
рдЬреЛ рд▓реЛрдЧ рдХреЗрд╡рд▓ рдбреЙрдХрд░ + рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рдЕрдХреНрд╕рд░ рдмреБрдирд┐рдпрд╛рджреА рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВред рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ? рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВ? рдХреИрд╕реЗ рдХрд░реЗрдВ рдЯреЗрд╕реНрдЯ?
рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдЖрдкрдХреЛ рдбреЙрдХрд░ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрд░рдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред 2017 рд╕реНрд╡рдпрдВ рд░рд┐рдкреЛрд░реНрдЯред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рд╕реЗ рдЖрдк рдореВрд▓ рдмрд╛рддреЗрдВ, рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА, рд╡рд┐рдЪрд╛рд░, рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ, рдХреГрдкрдпрд╛, рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред
рдореЗрд░рд╛ рдирд╛рдо рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд╕рд┐рдЧрд╛рдЪреЗрд╡ рд╣реИред рдореИрдВ рдЗрдирд╡реЗрдВрдЯреЛрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдЖрдкрдХреЛ рдбреЙрдХрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реВрдВ рдФрд░ рд╣рдо рдзреАрд░реЗ-рдзреАрд░реЗ рдЗрд╕реЗ рдХрдВрдкрдиреА рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╡рд┐рд╖рдп: рдбреЛрдХрд░ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред

рдбреЙрдХрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рдореЗрд░реА рджреВрд╕рд░реА рдмрд╛рдд рд╣реИред рдкрд╣рд▓реА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рдордп, рд╣рдордиреЗ рдбреЙрдХрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╡рд┐рдХрд╛рд╕ рдорд╢реАрдиреЛрдВ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ред рдбреЙрдХрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрднрдЧ 2-3 рд▓реЛрдЧ рдереЗред рдзреАрд░реЗ-рдзреАрд░реЗ, рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдФрд░ рд╣рдо рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдмрдврд╝ рдЧрдПред рд╣рдорд╛рд░реА рдкрд╣рд▓реА рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд▓рд┐рдВрдХред
рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд╣рдо рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ рдХреМрди рд╕реА рд░реЗрдХ рдПрдХрддреНрд░ рдХреА, рдХрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ред рд╣рд░ рдЬрдЧрд╣ рдпрд╣ рд╕реБрдВрджрд░ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИред
рд╣рдорд╛рд░рд╛ рдЖрджрд░реНрд╢ рд╡рд╛рдХреНрдп рд╣реИ: рд╣рдорд╛рд░реЗ рд╣рд╛рдереЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬрд╝ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ред

рд╣рдо рдХрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреЗ рд╣реИрдВ?
рдЬрдм рдХрд┐рд╕реА рдХрдВрдкрдиреА рдХреА рдХрдИ рдЯреАрдореЗрдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрди рд╣реЛрддрд╛ рд╣реИред рдРрд╕реЗ рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЙрд╕реЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЖрдорддреМрд░ рдкрд░, рдпрджрд┐ рдЖрдк рдЦрд░реЛрдВрдЪ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ рдкреБрд░рд╛рдиреЗ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдПрдХ рд╕реЗ рджреЛ рджрд┐рдиреЛрдВ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╕реНрдерд▓ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреАред рдЗрд╕реЗ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдЕрдЧрд▓рд╛ рдХрд╛рд░рдг рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдорд╛рдирдХреАрдХрд░рдг рд╣реИред рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рд╣рд░ рдкрд╛рдВрдЪрд╡реЗрдВ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдХрд╕реНрдЯрдо рдбреЛрдореЗрди рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, vasya.devред рдкрд╛рд╕ рдореЗрдВ рдкрдбрд╝реЛрд╕реА рдкреЗрдЯреНрдпрд╛ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдбреЛрдореЗрди рдкреЗрдЯреНрдпрд╛.рджреЗрд╡ рд╣реИред рд╡реЗ рдЗрд╕ рдбреЛрдореЗрди рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХреБрдЫ рдШрдЯрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЬрдм рд╕рд┐рд╕реНрдЯрдо рдмрдврд╝рддрд╛ рд╣реИ рдФрд░ рдпреЗ рдбреЛрдореЗрди рдирд╛рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЖрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдПрдХ рд╕рдВрдШрд░реНрд╖ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдЗрдЯ рдХрд╛ рдорд╛рд░реНрдЧ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рдмрд╛рдд рд╣реЛрддреА рд╣реИред рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЦрд╛рд▓реА рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рд╕реНрдЯреЗрдЬ рдкрд░ рдХрд┐рд╕реА рдиреЗ MySQL рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдорд╛рдВрдЧ рдХреА рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдПрдХ 123 рдирд┐рдХрд▓рд╛ред рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдХреЙрдиреНрдлрд░реНрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИред рдХрд┐рд╕реА рдиреЗ рд╕рд╣реА рдХрд┐рдпрд╛, рдХрд┐рд╕реА рдиреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рд╣реА рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЬрдм рд╣рдордиреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЗрд╕реНрдЯ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ .gitignore
рдореЗрдВ рдбрд╛рд▓рд╛ рддреЛ рдЯреНрд░рд┐рдХреНрд╕ рдереЗ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдерд╛ред рдЗрд╕рд╕реЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдкрдВрдЬреАрдХреГрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ рдкреНрд▓реЗрдЯ рдмрдирд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рдПрдХ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╣реИред рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реБрдИ рдереА (2017 рд╕реЗ - рдиреЛрдЯ рдПрдбред)ред рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдордиреЗ MySQL 5.5 рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреАред рдРрд╕реА рдЖрдзреБрдирд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рднреА рд╣реИрдВ рдЬрд╣рд╛рдБ рд╣рдо MySQL рдХреЗ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 5.7 рдпрд╛ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдиреЗ (2017 рдореЗрдВ рдиреЛрдЯ - рдПрдбред)ред
MySQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЦреАрдВрдЪ рд░рд╣реЗ рд╣реИрдВред 2 рдЖрдзрд╛рд░реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЪрд▓рд╛рдирд╛ рдХрд╛рдлреА рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИред рдмрд╣реБрдд рдХрдо рд╕реЗ рдХрдо, рдкреБрд░рд╛рдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдирдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
рдЕрдЧрд▓реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдбреЗрд╡рд▓рдкрд░ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ, рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЛрдВ, рд╕реНрдерд╛рдиреАрдп рд░реИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рдордп рд╕рднреА рдЗрдВрдЯрд░реИрдХреНрд╢рди рдЗрд╕ рддрдереНрдп рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рджрди 3 рдореЗрдВ рдмреИрдХрдПрдВрдб рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ nginx рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓реЗрдВ рд▓реЗрддрд╛ рд╣реИред рдЬрдм рдРрд╕рд╛ рдХреЛрдб рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ 3 рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдореМрдЬреВрдж рд╣реИред
рдЕрдм рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреА рджрд┐рд╢рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИред рдЬрдм рд╣рдо рдЕрдкрдиреЗ рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдХреБрдЫ рдЫреЛрдЯреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдХрд╛рдо рдФрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
Frondend-developer, JS рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ Backend рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдмреИрдХрдПрдВрдб рдбреЗрд╡рд▓рдкрд░, рдмрджрд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕, рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлреНрд░реЙрдиреНрдбреЗрдВрдб рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рд╣рдо рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдкрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЗрд╕рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╛ рддреЛ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдпрд╛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рдереАрдВред

рдЙрдкрдХрд░рдгред рд╣рдо рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
- рд╕реАрдзреЗ рддреМрд░ рдкрд░ рдЦреБрдж рдбреЙрдХрд░ред Dockerfile рдПрдХ рдЖрд╡реЗрджрди рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
- рдбреЙрдХрд░-рдХрдореНрдкреЛрдЬ рдПрдХ рдмрдВрдбрд▓ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдХреБрдЫ рдбреЙрдХрдЯрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд▓рд╛рддрд╛ рд╣реИред
- GitLab рд╣рдо рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
- рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП GitLab-CI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

рдбреЙрдХрд░ рдПрдХ рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдмреА рдбреЛрдХрд░ рдЫрд╡рд┐ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ: 2.3.0ред рдЗрд╕рдореЗрдВ рд░реВрдмреА рд╕рдВрд╕реНрдХрд░рдг 2.3 рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдмрд┐рд▓реНрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ NodeJS рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА /app
рдмрдирд╛рддреЗ рд╣реИрдВред рдРрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо Gemfile рдФрд░ Gemfile.lock рд░рдЦрддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рдЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдЫрд╡рд┐ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдмрд╛рд╣рд░реА рдкреЛрд░реНрдЯ 3000 рдкрд░ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛ред рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рд╡рд╣ рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рд╕реАрдзреЗ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрдЯрд╛рд░реНрдЯ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдФрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрдмрдВрдз рд╣реИред рдпрд╣ рд╕реАрдзреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд╡рд╛ рдФрд░ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдо MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг MySQL рдХреЗ рд╕рд╛рде рд╣реИ - рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдорд┐рддреНрд░ рдбреЗрдЯрд╛рдмреЗрд╕ (PostgreSQL, Redd) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред
рд╣рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрд░реЛрдд рд╕реЗ MySQL 5.7.14 рдЫрд╡рд┐ рдХреЛ рдбреЙрдХрдЯрд░ рд╣рдм рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреЗ рд╕рд╛рде рд▓реЗрддреЗ рд╣реИрдВред рд╡рд╣ рдЫрд╡рд┐ рдЬреЛ рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣, рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХреЗ рджреМрд░рд╛рди, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдЫрд╡рд┐ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдпрд╣ рдЙрд╕ рдХрдорд╛рдВрдб рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдпрд╣рд╛рдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдкреНрдпреВрдорд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдиреНрдЪ рдХрдорд╛рдВрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрдпреВрдорд╛ рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдПрдХ рд╕реЗрд╡рд╛ рд╣реИред рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрдорд╛рдВрдб рд╣рдорд╛рд░реА рдЬрд░реВрд░рддреЛрдВ рдпрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдордирдорд╛рдиреА рд╣реЛ рд╕рдХрддреА рд╣реИред
рд╣рдо рдпрд╣ рднреА рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ 3000 рд╕реЗ 3000 рдкреЛрд░реНрдЯ рдХрдВрдЯреЗрдирд░ рд╕реЗ рд╣рдорд╛рд░реЗ рдореЗрдЬрдмрд╛рди рдорд╢реАрди рдкрд░ рдкреЛрд░реНрдЯ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ iptables рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реАрдзреЗ рдбреЙрдХрд░ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реЛрддрд╛ рд╣реИред
рдбреЗрд╡рд▓рдкрд░, рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдХрд┐рд╕реА рднреА рдЙрдкрд▓рдмреНрдз рдЖрдИрдкреА рдкрддреЗ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╢реАрди рдХрд╛ 127.0.0.1 рд╕реНрдерд╛рдиреАрдп рдпрд╛ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддрд╛ред
рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХрд╣рддреА рд╣реИ рдХрд┐ рд╡реЗрдм рдХрдВрдЯреЗрдирд░ db рдХрдВрдЯреЗрдирд░ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдЬрдм рд╣рдо рд╡реЗрдм рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ docker-compose рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж! рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рддрддреНрдкрд░рддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ), рд╣рдо рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗ, рд╣рдорд╛рд░реЗ рдмреИрдХрдПрдВрдбред
рдпрд╣ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдВрдЯреЗрдирд░ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ, рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдореБрдХреНрдд рдХрд░рддреЗ рд╣реИрдВред

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

рдбреЙрдХрд░ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкрд╛рдпрдерди, рд░реВрдмреА, рдиреЛрдбрдЬреЗрдПрд╕, рдкреАрдПрдЪрдкреА рджреБрднрд╛рд╖рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рддрд╛ рд╣реИред рдкрд╣рд▓реЗ, рд░реВрдмреА рдиреЗ рдЖрд░рдкреАрдПрдо рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдпрд╣ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдХреЛрдб рдХреЛ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдореЗрдВ рджреБрднрд╛рд╖рд┐рдпрд╛ рдФрд░ рдХреЛрдб рджреЛрдиреЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреБрд░рд╛рдиреЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рдХрдо рдХрд░реЗрдВ рдФрд░ рдирдП рдХрдВрдЯреЗрдирд░ рдХреЛ рдмрдврд╝рд╛рдПрдВред рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ, рддреЛ рд╣рдо рдирдП рдХрдВрдЯреЗрдирд░ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреБрд░рд╛рдиреЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЫрд╡рд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЙрддреНрдкрд╛рджрди рджреЛрдиреЛрдВ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рд╕рдорд╛рди рд╣реЛрдВрдЧреЗред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдбрд╝реЗ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИред
рдлреНрд░рдВрдЯреЗрдВрдб рдореЗрдВ, рд╣рдо JavaScipt рдФрд░ NodeJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ReacJS рдореЗрдВ рдирд╡реАрдирддрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдкреВрд░реЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЪрд▓рд╛рдпрд╛ рдФрд░ рд╣реЙрдЯ-рд░реАрд▓реЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ред
рдЗрд╕рдХреЗ рдмрд╛рдж, JavaScipt рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ nginx рдмрдЪрдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рд╣рдорд╛рд░реЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрд░реЗрдЦ рджрд┐рдпрд╛ред
рдЖрдкрдиреЗ рдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛? рд╣рдореЗрдВ рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИред рдЗрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рднреЗрдЬрдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ?
рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ рдЬреИрд╕реЗ: рдЬреЗрдПрд╕ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рднрд╛рдЧ, рдмреИрдХрдПрдВрдб, рдЬреЛ рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ рдХреЗ рддрд╣рдд рдЖрд░рдИрдПрд╕рдЯреА рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмреИрдХрдПрдВрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред REST рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдПрдВрдб рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдиред
рд╣рдореЗрдВ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рднреЗрдЬрдиреЗ рдХреА рднреА рдЬрд░реВрд░рдд рдереАред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдереА рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддрдВрддреНрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╕реВрдЪрдирд╛рдПрдВ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рд╣рдордиреЗ рдРрд╕реА рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА: рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдСрдкрд░реЗрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИ, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИ, рдХрд╛рд░реНрдп рдкреБрд╢ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдирд╛ рд╣реИред
рдкреБрд╢ рд╕реВрдЪрдирд╛рдПрдБ NodeJS рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдШрдЯрдХ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рддреА рд╣реИрдВред
рдХрддрд╛рд░реЗрдВ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдирд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрдВрддреНрд░ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рджреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдлрд┐рд▓рд╣рд╛рд▓, рдбреЙрдХрд░ рдХреА рдорджрдж рд╕реЗ, рд╣рдо 2 рд╕реНрд╡рддрдВрддреНрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ, рдФрд░ рднреМрддрд┐рдХ рдбреЗрдЯрд╛ рдбреЗрд╡рд▓рдкрд░ рдХреА рдорд╢реАрди рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдЦреНрдпрд╛ рдореЗрдВред рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЛрдб рдпрд╣рд╛рдБ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдпрджрд┐ рдкрд╣рд▓реЗ рд╣рдордиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА, рддреЛ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛, рдЬреЛ рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддреА рд╣реИ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдирдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИред
рдЙрд╕ рд╕рдордп, рд╣рдордиреЗ NodeJS рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЕрдм (2017 рдореЗрдВ - рдиреЛрдЯ рдПрдбред) рд╣рд╛рд▓ рдХреЗ рдШрдЯрдирд╛рдХреНрд░рдо рдореЗрдВ рд╣рдо NodeJS рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдШрдЯрдХреЛрдВ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдкреБрд╢ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╕реЗрд╡рд╛ рдХреЗ NodeJS рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд░реАрдлрд╝реНрд░реИрдХреНрдЯрд░ рдФрд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдЕрдЧрд░ рд╣рдо рдПрдкреАрдЖрдИ рд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдП рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдереЗред

рдЖрдкрдХреЛ рдбреЙрдХрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рднрдВрдбрд╛рд░ рдореЗрдВ рдПрдХ рдбреЙрдХрдлрд╝рд┐рд▓ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдШрдЯрдХ рддрд░реНрдХ рд╕реЗ рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдмреИрдХрдПрдВрдб рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рд╣реИред
рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╕рдордп, рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ, рд╡рд╛рдВрдЫрд┐рдд рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ (рдкрд╛рдпрдерди, рд░реВрдмреА, рдиреЛрдбрдЬреЗрдк) рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВред рдбреЙрдХрдЯрд░-рд░рдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ - рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рд╣рдо рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рдФрд░ рдРрд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдо рд╕реНрдереИрддрд┐рдХ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдЧреАрдиреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рддреАрд╕рд░реЗ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЪрд┐рддреНрд░ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреИрдХрдПрдВрдб рдЙрдиреНрд╣реЗрдВ рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ рдорд╛рддреНрд░рд╛ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдирдЧрдиреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рднреА рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдерд┐рд░ рджреЗрддрд╛ рд╣реИред
Nginx, mysql рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдбреЙрдХрд░ рдлрд╝реЛрд▓реНрдбрд░ рдЬреЛрдбрд╝рд╛, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдЧрд┐рдЯ рдХреНрд▓реЛрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдорд┐рд▓ рдЬрд╛рддреА рд╣реИред рд╕рд╡рд╛рд▓ рдпрд╣ рдирд╣реАрдВ рдЙрдарддрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдкреЛрд░реНрдЯ рдпрд╛ рдХреМрди рд╕реА рд╕реЗрдЯрд┐рдВрдЧ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

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

рдпрд╣ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрдб-рдРрдк рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рд╣рдо рдпрд╣рд╛рдВ рдбреЙрдХрдЯрд░ рдХреИрдЯрд▓реЙрдЧ рднреА рд▓рд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рднрд░рддреЗ рд╣реИрдВред README.md рд╣реИ, рдЬреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред
рдпрд╣рд╛рдВ рд╣рдордиреЗ рджреЛ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬреНрдб рдлрд╛рдЗрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдпрд╣ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддрдм рд╡рд╣ рд╕рд┐рд░реНрдл docker-compose рдлрд╝рд╛рдЗрд▓ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рд╕рдВрд╕рд╛рдзрди рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдкреБрд╢ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ docker-compose.yaml рдФрд░ docker-compose-push.yaml рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдЪреВрдВрдХрд┐ docker-compose.yaml рдФрд░ docker-compose-push.yaml рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдгред рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдШрдЯрдХреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ? рдпрд╣рд╛рдБ рд╣рдо рдмреИрд▓реЗрдВрд╕рд░ рдШрдЯрдХ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВред
рдпрд╣ рдПрдХ рд░реЗрдбреАрдореЗрдб рдбреЙрдХрд░ рдЗрдореЗрдЬ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирдЧрдиреЗрдХреНрд╕ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛ рдбреЙрдХрд░ рд╕реЙрдХреЗрдЯ рдХреЛ рд╕реБрдирддрд╛ рд╣реИред рдбрд╛рдпрдиреЗрдорд┐рдХ, рдЬреИрд╕реЗ рд╣реА рдХрдВрдЯреЗрдирд░ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рд╣реЛрддрд╛ рд╣реИ, рдирдЧреАрди рдХреЙрдиреНрдлрд┐рдЧ рдкреБрдирдГ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ред рд╣рдо рддреГрддреАрдп-рд╕реНрддрд░реАрдп рдбреЛрдореЗрди рдирд╛рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рдШрдЯрдХреЛрдВ рдХреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо .dev рдбреЛрдореЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - api.informer.devред .Dev рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рд╕реНрдерд╛рдиреАрдп рдбреЗрд╡рд▓рдкрд░ рдХреА рдорд╢реАрди рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
рдлрд┐рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

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

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреЙрдХрдЯрд░рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ? рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг MySQL рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ docker рдЫрд╡рд┐ рд╣реИред
рдпрд╣ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд╣реИред рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдкрдХреЛ рдХрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬреЛ рдЖрдЧреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЖрддреНрдо-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
Hub.docker.com рдореЗрдВ, рдЖрдорддреМрд░ рдкрд░ github.com рдХреЗ рд▓рд┐рдВрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╕реАрдзреЗ рдХрдЪреНрдЪрд╛ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЫрд╡рд┐ рдХреЛ рд╕реНрд╡рдпрдВ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рдЖрдЧреЗ docker-endpoint.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХреЗ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдПрдХрд▓ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдпрд╛ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ MySQL рдпрд╛ рдЬреЛ рднреА рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд▓рд┐рдП docker рдкрд░ рдПрдХ рдЦрд╛рд▓реА рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╛рд╕рд╡рд░реНрдб рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рд╣рдордиреЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рдереЛрдбрд╝рд╛ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛, рдЬреЛ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╡рд╣рд╛рдВ, рд╣рдордиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕рд╣реА рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрд╕реЛрд▓ рд╕реЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд░реВрдмреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рд╣реИред

рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ MySQL рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдХрд░рдг github.com рдкрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдЖрдк рдбреЙрдХрдлрд╛рдЗрд▓ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣рд╛рдВ рдХреИрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП docker-endpoint.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдХреБрдЫ рддреИрдпрд╛рд░реА рдЪрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрди рд╕рднреА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреЗрд╡рд▓ рдЖрд░рдВрднреАрдХрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдо рджреВрд╕рд░реЗ рднрд╛рдЧ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЧрд┐рдЯрд▓реИрдм рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рджреГрд╢реНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред
Gitlab рдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ Gitlab CI рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЕрдиреБрд╡рд░реНрддреА рдЖрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдмрд╛рдж рдореЗрдВ рдПрдХ рдХреЛрдб рд╡рд┐рддрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
Gitlab CI 2 рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ https://goo.gl/uohKjI - рд░реВрдмреА рд░реВрд╕ рдХреНрд▓рдм рдХреА рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ - рдХрд╛рдлреА рд╡рд┐рд╕реНрддреГрдд рдФрд░ рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЛ рд░реБрдЪрд┐рдХрд░ рд▓рдЧреЗред

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

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

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

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

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

рдЬрдм рд╣рдордиреЗ рдбреЙрдХрдЯрд░ рдХреЛ рдкреЗрд╢ рдХрд┐рдпрд╛, рддреЛ рд╣рдордиреЗ рдордВрдЪрди рдкрд░ рдХреНрдпрд╛ рдХрд╛рдо рдХрд┐рдпрд╛? , , , .
.
Docker-compose .
, Docker . Docker-compose .
, .
тАФ staging .
production 80 443 , WEB.

? Gitlab Runner .
Gitlab Gitlab Runner, - , .
Gitlab Runner, .
nginx-proxy .
, . .
80 , .

? root. root root .
, root , root.
- , , , , .
? , .
, ?
ID (UID) ID (GID).
ID 1000.
Ubuntu. Ubuntu ID 1000.

?
Docker. , . , - , .
, .
.
Docker Docker Swarm, . - Docker Swarm.
. . . web-.
