рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдореА рдЗрдиреНрд╡реНрд╣реЗрдВрдЯреЛрд╕ "рдбреЙрдХрд░ + рдЧрд┐рдЯрд▓реЕрдм рд╕реАрдЖрдп рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛" рдордзреАрд▓ рдЕрд▓реЗрдХреНрдЭрд╛рдВрдбрд░ рд╕рд┐рдЧрд╛рдЪреЗрд╡реНрд╣рдЪреНрдпрд╛ рдЕрд╣рд╡рд╛рд▓рд╛рдЪрд╛ рдЙрддрд╛рд░рд╛ рд╡рд╛рдЪрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрддреЛ.

рдЬреЗ рдиреБрдХрддреЗрдЪ рдбреЙрдХрд░ + рдЧрд┐рдЯрд▓реЕрдм рд╕реАрдЖрдпрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдд рдЖрд╣реЗрдд рддреЗ рд╕рд╣рд╕рд╛ рдореВрд▓рднреВрдд рдкреНрд░рд╢реНрди рд╡рд┐рдЪрд╛рд░рддрд╛рдд. рдХреБрдареВрди рд╕реБрд░реБрд╡рд╛рдд рдХрд░рд╛рдпрдЪреА? рдХрд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд░рд╛рд╡реЗ? рдЪрд╛рдЪрдгреА рдХрд╢реА рдХрд░рд╛рд╡реА?

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

рдХреЛрдг рдХрд╛рд│рдЬреА рдШреЗрддреЗ, рдХреГрдкрдпрд╛ рдорд╛рдВрдЬрд░реАрдЪреНрдпрд╛ рдЦрд╛рд▓реА.

рдорд╛рдЭреЗ рдирд╛рд╡ рдЕрд▓реЗрдХреНрдЭрд╛рдВрдбрд░ рд╕рд┐рдЧрд╛рдЪреЗрд╡реНрд╣ рдЖрд╣реЗ. рдореА Inventos рд╕рд╛рдареА рдХрд╛рдо рдХрд░рддреЛ. рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдбреЙрдХрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдорд╛рдЭрд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдВрдЧреЗрди рдЖрдгрд┐ рдЖрдореНрд╣реА рдХрдВрдкрдиреАрдордзреАрд▓ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╡рд░ рддреЗ рд╣рд│реВрд╣рд│реВ рдХрд╕реЗ рд░рд╛рдмрд╡рдд рдЖрд╣реЛрдд.

рд╕рд╛рджрд░реАрдХрд░рдгрд╛рдЪрд╛ рд╡рд┐рд╖рдп: рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм рд╕реАрдЖрдп рд╡рд╛рдкрд░реВрди рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдбреЙрдХрд░рдмрджреНрджрд▓рдЪреА рд╣реА рдорд╛рдЭреА рджреБрд╕рд░реА рдЪрд░реНрдЪрд╛ рдЖрд╣реЗ. рдкрд╣рд┐рд▓реНрдпрд╛ рдЕрд╣рд╡рд╛рд▓рд╛рдЪреНрдпрд╛ рд╡реЗрд│реА, рдЖрдореНрд╣реА рдХреЗрд╡рд│ рд╡рд┐рдХрд╕рдХ рдорд╢реАрдирд╡рд░ рд╡рд┐рдХрд╛рд╕рд╛рдд рдбреЙрдХрд░ рд╡рд╛рдкрд░рд▓рд╛. рдбреЙрдХрд░ рд╡рд╛рдкрд░рдгрд╛рд░реНтАНрдпрд╛ рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╕реБрдорд╛рд░реЗ 2-3 рд▓реЛрдХ рд╣реЛрддреА. рд╣рд│реВрд╣рд│реВ рдЕрдиреБрднрд╡ рдорд┐рд│рдд рдЧреЗрд▓рд╛ рдЖрдгрд┐ рдЖрдореНрд╣реА рдереЛрдбреЗ рдкреБрдвреЗ рдЧреЗрд▓реЛ. рдЖрдордЪреНрдпрд╛рд╢реА рджреБрд╡рд╛ рдкрд╣рд┐рд▓рд╛ рдЕрд╣рд╡рд╛рд▓.

рдХрд╛рдп рдЕрд╕реЗрд▓ рдпрд╛ рдЕрд╣рд╡рд╛рд▓рд╛рдд? рдЖрдореНрд╣реА рдХреЛрдгрддреЗ рд░реЗрдХ рдЧреЛрд│рд╛ рдХреЗрд▓реЗ, рдХреЛрдгрддреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реНрдпрд╛ рдпрд╛рдмрджреНрджрд▓ рдЖрдордЪреЗ рдЕрдиреБрднрд╡ рд╕рд╛рдВрдЧреВ. рд╕рд░реНрд╡рддреНрд░ рддреЗ рд╕реБрдВрджрд░ рдирд╡реНрд╣рддреЗ, рдкрд░рдВрддреБ рдкреБрдвреЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА.

рдЖрдордЪреЗ рдмреНрд░реАрджрд╡рд╛рдХреНрдп рдЖрд╣реЗ: рдЖрдореНрд╣реА рдЬреЗ рдХрд╛рд╣реА рдХрд░реВ рд╢рдХрддреЛ рддреЗ рдбреЙрдХ рдХрд░рд╛.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЖрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдд рдЖрд╣реЛрдд?

рдЬреЗрд╡реНрд╣рд╛ рдХрдВрдкрдиреАрдордзреНрдпреЗ рдЕрдиреЗрдХ рд╕рдВрдШ рдЕрд╕рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рдВрд╕рд╛рдзрди рдЕрд╕рддреЛ. рдЕрд╕реЗ рдЯрдкреНрдкреЗ рдЕрд╕рддрд╛рдд рдЬреЗрд╡реНрд╣рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд▓рд╛ рдПрдХрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рддреВрди рдмрд╛рд╣реЗрд░ рдХрд╛рдврд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдХрд╛рд╣реА рдХрд╛рд│ рджреБрд╕рд░реНтАНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рджрд┐рд▓реЗ рдЬрд╛рддреЗ.

рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд▓рд╛ рддреНрд╡рд░реАрдд рд╕рдордЬрдгреНрдпрд╛рд╕рд╛рдареА, рддреНрдпрд╛рд▓рд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ рдЖрдгрд┐ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рд▓рд╡рдХрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рд▓рд╛рдБрдЪ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЬреЗ рддреНрдпрд╛рд▓рд╛ рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдвреЗ рдЬрд╛рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓.

рд╕рд╣рд╕рд╛, рдЬрд░ рддреБрдореНрд╣реА рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдд рдереЛрдбреЗ рджрд╕реНрддрдРрд╡рдЬ рдЖрд╣реЗрдд. рдХрд╕реЗ рд╕реЗрдЯ рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдлрдХреНрдд рдЬреБрдиреНрдпрд╛-рдЯрд╛рдЗрдорд░рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ. рдХрд░реНрдордЪрд╛рд░реА рдПрдХ-рджреЛрди рджрд┐рд╡рд╕рд╛рдВрдд рд╕реНрд╡рддрдГрд╣реВрди рдХрд╛рдорд╛рдЪреА рдЬрд╛рдЧрд╛ рддрдпрд╛рд░ рдХрд░рддрд╛рдд. рдпрд╛рд▓рд╛ рдЧрддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдбреЙрдХрд░ рд╡рд╛рдкрд░рд▓рд╛.

рдкреБрдвреАрд▓ рдХрд╛рд░рдг рдореНрд╣рдгрдЬреЗ рд╡рд┐рдХрд╛рд╕рд╛рддреАрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдЪреЗ рдорд╛рдирдХреАрдХрд░рдг. рдорд╛рдЭреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рдиреБрд╕рд╛рд░, рд╡рд┐рдХрд╛рд╕рдХ рдиреЗрд╣рдореАрдЪ рдкреБрдврд╛рдХрд╛рд░ рдШреЗрддрд╛рдд. рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рдЪрд╡реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдПрдХ рд╕рд╛рдиреБрдХреВрд▓ рдбреЛрдореЗрди рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, vasya.dev. рддреНрдпрд╛рдЪреНрдпрд╛ рд╢реЗрдЬрд╛рд░реА рдмрд╕рд▓реЗрд▓рд╛ рддреНрдпрд╛рдЪрд╛ рд╢реЗрдЬрд╛рд░реА рдкреЗрдЯреНрдпрд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪреЗ рдбреЛрдореЗрди petya.dev рдЖрд╣реЗ. рддреЗ рдпрд╛ рдбреЛрдореЗрди рдирд╛рд╡рд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд┐рдВрд╡рд╛ рд╕рд┐рд╕реНрдЯрдордЪрд╛ рдХрд╛рд╣реА рдШрдЯрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛рдд.

рдЬреЗрд╡реНрд╣рд╛ рд╕рд┐рд╕реНрдЯреАрдо рд╡рд╛рдврддреЗ рдЖрдгрд┐ рд╣реА рдбреЛрдореЗрди рдирд╛рд╡реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдпреЗрдК рд▓рд╛рдЧрддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕рдВрдШрд░реНрд╖ рдЙрджреНрднрд╡рддреЛ рдЖрдгрд┐ рд╕рд╛рдЗрдЯрдЪрд╛ рдорд╛рд░реНрдЧ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рддреЛ.

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

рджреБрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдореНрд╣рдгрдЬреЗ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдз рдЖрд╡реГрддреНрддреНрдпрд╛. рдЕрд╕реЗ рдЕрдиреЗрдХрджрд╛ рдШрдбрддреЗ рдХреА рд╡рд┐рдХрд╛рд╕рдХ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╣ рдХрд╛рдо рдХрд░рддреЛ. рдкрд╛рдЪ рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА рд╕реБрд░реВ рдЭрд╛рд▓реЗрд▓рд╛ рдПрдХ рд╡рд╛рд░рд╕рд╛ рдкреНрд░рдХрд▓реНрдк рдЖрд╣реЗ (2017 рдкрд╛рд╕реВрди - рдПрдб. рдЯреАрдк). рд▓реЙрдиреНрдЪрдЪреНрдпрд╛ рд╡реЗрд│реА, рдЖрдореНрд╣реА MySQL 5.5 рдиреЗ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА. рддреЗрдереЗ рдЖрдзреБрдирд┐рдХ рдкреНрд░рдХрд▓реНрдк рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд рдЬреЗрдереЗ рдЖрдореНрд╣реА MySQL рдЪреНрдпрд╛ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рдЖрд╡реГрддреНрддреНрдпрд╛ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 5.7 рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рд╣реВрди рдЬреБрдиреЗ (2017 рдордзреНрдпреЗ - рдПрдб. рдЯреАрдк)

MySQL рд╕рд╣ рдХрд╛рдо рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдХреЛрдгрд╛рд▓рд╛рд╣реА рдорд╛рд╣реАрдд рдЖрд╣реЗ рдХреА рд╣реА рд▓рд╛рдпрдмреНрд░рд░реА рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕реЛрдмрдд рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдЖрдгрддреЗ. 2 рдмреЗрд╕ рдПрдХрддреНрд░ рдЪрд╛рд▓рд╡рдгреЗ рдРрд╡рдЬреА рд╕рдорд╕реНрдпрд╛рдкреНрд░рдзрд╛рди рдЖрд╣реЗ. рдХрд┐рдорд╛рди, рдЬреБрдиреЗ рдХреНрд▓рд╛рдпрдВрдЯ рдирд╡реАрди рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд╕реНрдпрд╛рдкреНрд░рдзрд╛рди рдЖрд╣реЗрдд. рдпрд╛рдореБрд│реЗ рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛рдд.

рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рдХрд╕рдХ рд╕реНрдерд╛рдирд┐рдХ рдорд╢реАрдирд╡рд░ рдХрд╛рдо рдХрд░рддреЛ рддреЗрд╡реНрд╣рд╛ рдкреБрдвреАрд▓ рд╕рдорд╕реНрдпрд╛ рдЕрд╕рддреЗ, рддреЛ рд╕реНрдерд╛рдирд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЗ, рд╕реНрдерд╛рдирд┐рдХ рдлрд╛рдЗрд▓реНрд╕, рд╕реНрдерд╛рдирд┐рдХ рд░реЕрдо рд╡рд╛рдкрд░рддреЛ. рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрд│реА рд╕рд░реНрд╡ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рд╣реЗ рдПрдХрд╛ рдорд╢реАрдирд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдЪреНрдпрд╛ рдЪреМрдХрдЯреАрдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгрдЬреЗ рдЬреЗрд╡реНрд╣рд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдкреНрд░реЙрдбрдХреНрд╢рди 3 рдордзреНрдпреЗ рдмреЕрдХрдПрдВрдб рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рдбреЗрд╡реНрд╣рд▓рдкрд░ рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдлрд╛рдЗрд▓реНрд╕ рд╕реЗрд╡реНрд╣ рдХрд░рддреЛ рдЖрдгрд┐ рддреЗрдереВрди рд╡рд┐рдирдВрддреАрд▓рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдгреНрдпрд╛рд╕рд╛рдареА nginx рдлрд╛рдЗрд▓реНрд╕ рдШреЗрддреЛ. рдЬреЗрд╡реНрд╣рд╛ рдЕрд╕рд╛ рдХреЛрдб рдкреНрд░реЙрдбрдХреНрд╢рдирдордзреНрдпреЗ рдпреЗрддреЛ, рддреЗрд╡реНрд╣рд╛ рдЕрд╕реЗ рджрд┐рд╕реВрди рдпреЗрддреЗ рдХреА рдлрд╛рдЗрд▓ 3 рдкреИрдХреА рдПрдХрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрд╣реЗ.

рдорд╛рдпрдХреНрд░реЛ рд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдЪреА рджрд┐рд╢рд╛ рдЖрддрд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдЖрдордЪреЗ рдореЛрдареЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгрд╛рд░реЗ рдХрд╛рд╣реА рд▓рд╣рд╛рди рдШрдЯрдХрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрддреЛ. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдЯреЕрдХрд╕рд╛рдареА рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдордзреНрдпреЗ рдХрд╛рдо рдЖрдгрд┐ рдЬрдмрд╛рдмрджрд╛рд▒реНрдпрд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рдЪреА рджреЗрдЦреАрд▓ рдЕрдиреБрдорддреА рджреЗрддреЗ.

Frondend-рдбреЗрд╡реНрд╣рд▓рдкрд░, JS рд╡рд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ, рдмреЕрдХрдПрдВрдбрд╡рд░ рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддрд╛рд╣реА рдкреНрд░рднрд╛рд╡ рдирд╛рд╣реА. рдмреЕрдХрдПрдВрдб рд╡рд┐рдХрд╕рдХ, рдмрджрд▓реНрдпрд╛рдд, рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд░реБрдмреА рдСрди рд░реЗрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рдлреНрд░реЙрдиреНрдбреЗрдВрдбрдордзреНрдпреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдд рдирд╛рд╣реА. рд╕рдВрд╡рд╛рдж API рд╡рд╛рдкрд░реВрди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

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

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рд╕рд╛рдзрдиреЗ. рдЖрдореНрд╣реА рдХрд╛рдп рд╡рд╛рдкрд░рддреЛ?

  • рдбреЙрдХрд░ рд╕реНрд╡рддрдГ. рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЗ.
  • рдбреЙрдХрд░-рдХрдВрдкреЛрдЬ рд╣реЗ рдПрдХ рдмрдВрдбрд▓ рдЖрд╣реЗ рдЬреЗ рдЖрдордЪреНрдпрд╛ рдХрд╛рд╣реА рдбреЙрдХрд░ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдирд╛ рдПрдХрддреНрд░ рдЖрдгрддреЗ.
  • рдЖрдореНрд╣реА рд╕реНрддреНрд░реЛрдд рдХреЛрдб рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА GitLab рд╡рд╛рдкрд░рддреЛ.
  • рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рдирд╕рд╛рдареА рдЖрдореНрд╣реА GitLab-CI рд╡рд╛рдкрд░рддреЛ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЕрд╣рд╡рд╛рд▓рд╛рдд рджреЛрди рднрд╛рдЧ рдЖрд╣реЗрдд.

рдкрд╣рд┐рд▓рд╛ рднрд╛рдЧ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреНрдпрд╛ рдорд╢реАрдирд╡рд░ рдбреЙрдХрд░ рдХрд╕рд╛ рдЪрд╛рд▓рд╡рд▓рд╛ рдЧреЗрд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реЗрд▓.

рджреБрд╕рд░рд╛ рднрд╛рдЧ GitLab рд╢реА рд╕рдВрд╡рд╛рдж рдХрд╕рд╛ рд╕рд╛рдзрд╛рдпрдЪрд╛, рдЖрдореНрд╣реА рдЪрд╛рдЪрдгреНрдпрд╛ рдХрд╢рд╛ рдЪрд╛рд▓рд╡рддреЛ рдЖрдгрд┐ рдЖрдореНрд╣реА рд╕реНрдЯреЗрдЬрд┐рдВрдЧрдордзреНрдпреЗ рдХрд╕реЗ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рддреЛ рдпрд╛рдмрджреНрджрд▓ рдЪрд░реНрдЪрд╛ рдХрд░реЗрд▓.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

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

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рд╣реЗ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬ рдлрд╛рдЗрд▓рдЪреЗ рдХрд┐рдорд╛рди рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣реА рджрд░реНрд╢рд╡рд┐рддреЛ рдХреА рджреЛрди рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдХрдиреЗрдХреНрд╢рди рдЖрд╣реЗ. рд╣реЗ рдереЗрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд╡рд╛ рдЖрдгрд┐ рд╡реЗрдм рд╕реЗрд╡реЗрдордзреНрдпреЗ рдЖрд╣реЗ. рдЖрдордЪреНрдпрд╛ рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдирд╛ рдмрд╣реБрддреЗрдХ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмреЕрдХрдПрдВрдб рдореНрд╣рдгреВрди рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ. рдЖрдореНрд╣реА MySQL рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЙрджрд╛рд╣рд░рдг MySQL рд╕реЛрдмрдд рдЖрд╣реЗ - рдкрд░рдВрддреБ рдХрд╛рд╣реАрд╣реА рдЖрдореНрд╣рд╛рд▓рд╛ рдЗрддрд░ рдбреЗрдЯрд╛рдмреЗрд╕ (PostgreSQL, Redis) рд╡рд╛рдкрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдд рдирд╛рд╣реА.

рдЖрдореНрд╣реА рдбреЙрдХрд░ рд╣рдмрдЪреНрдпрд╛ рдЕрдзрд┐рдХреГрдд рд╕реНрддреНрд░реЛрддрд╛рдХрдбреВрди MySQL 5.7.14 рдЪреА рдкреНрд░рддрд┐рдорд╛ рдмрджрд▓ рди рдХрд░рддрд╛ рдШреЗрддреЛ. рдЖрдореНрд╣реА рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрддреВрди рдЖрдордЪреНрдпрд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реА рдкреНрд░рддрд┐рдорд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЛ. рдкрд╣рд┐рд▓реНрдпрд╛ рд▓рд╛рдБрдЪ рджрд░рдореНрдпрд╛рди рддреЗ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдкреНрд░рддрд┐рдорд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ. рдордЧ рддреА рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рддреЗ рдЬреА рдЖрдкрдг рдпреЗрдереЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдд рдЖрд╣реЛрдд. рдЬрд░ рдЖрдкрдг рдорд╛рдЧреЗ рдЧреЗрд▓реЛ, рддрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рджрд┐рд╕реЗрд▓ рдХреА рдкреБрдорд╛ рдорд╛рд░реНрдЧреЗ рд▓реЙрдиреНрдЪ рдХрдорд╛рдВрдб рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдкреНрдпреВрдорд╛ рд╣реА рд░реБрдмреАрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реА рд╕реЗрд╡рд╛ рдЖрд╣реЗ. рджреБрд╕рд▒реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣реА рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХрд░рддреЛ. рд╣реА рдЖрдЬреНрдЮрд╛ рдЖрдордЪреНрдпрд╛ рдЧрд░рдЬрд╛ рдХрд┐рдВрд╡рд╛ рдХрд╛рд░реНрдпрд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЕрд╕реВ рд╢рдХрддреЗ.

рдЖрдореНрд╣реА рд╣реЗ рджреЗрдЦреАрд▓ рд╡рд░реНрдгрди рдХрд░рддреЛ рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреНрдпрд╛ рд╡рд┐рдХрд╕рдХ рд╣реЛрд╕реНрдЯ рдорд╢реАрдирд╡рд░ рдХрдВрдЯреЗрдирд░ рдкреЛрд░реНрдЯрд╡рд░ 3000 рддреЗ 3000 рдкрд░реНрдпрдВрдд рдкреЛрд░реНрдЯ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ iptables рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░реВрди рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рдереЗрдЯ рдбреЙрдХрд░рдордзреНрдпреЗ рдПрдореНрдмреЗрдб рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ.

рд╡рд┐рдХрд╕рдХ, рдкреВрд░реНрд╡реАрдкреНрд░рдорд╛рдгреЗ, рдХреЛрдгрддреНрдпрд╛рд╣реА рдЙрдкрд▓рдмреНрдз IP рдкрддреНрддреНрдпрд╛рд╡рд░ рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 127.0.0.1 рд╣рд╛ рдорд╢реАрдирдЪрд╛ рд╕реНрдерд╛рдирд┐рдХ рдХрд┐рдВрд╡рд╛ рдмрд╛рд╣реНрдп IP рдкрддреНрддрд╛ рдЖрд╣реЗ.

рд╢реЗрд╡рдЯрдЪреА рдУрд│ рдореНрд╣рдгрддреЗ рдХреА рд╡реЗрдм рдХрдВрдЯреЗрдирд░ рдбреАрдмреА рдХрдВрдЯреЗрдирд░рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рд╡реЗрдм рдХрдВрдЯреЗрдирд░рдЪреНрдпрд╛ рдкреНрд░рд╛рд░рдВрднрд╛рд▓рд╛ рдХреЙрд▓ рдХрд░рддреЛ, рддреЗрд╡реНрд╣рд╛ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬ рдкреНрд░рдердо рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реБрд░реВ рдХрд░реЗрд▓. рдЖрдзреАрдЪ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ (рдЦрд░реЗ рддрд░, рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░! рд╣реЗ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рддрдпрд╛рд░реАрдЪреА рд╣рдореА рджреЗрдд тАЛтАЛтАЛтАЛрдирд╛рд╣реА) рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓реЙрдиреНрдЪ рдХрд░реЗрд▓, рдЖрдордЪрд╛ рдмреЕрдХрдПрдВрдб.

рдЬреЗрд╡реНрд╣рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдгрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА рддреЗрд╡реНрд╣рд╛ рд╣реЗ рддреНрд░реБрдЯреА рдЯрд╛рд│рддреЗ рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдВрдЯреЗрдирд░ рдерд╛рдВрдмрд╡рддреЛ рддреЗрд╡реНрд╣рд╛ рд╕рдВрд╕рд╛рдзрдиреЗ рд╡рд╛рдЪрд╡рддреЗ, рддреНрдпрд╛рдореБрд│реЗ рдЗрддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рд╕рдВрд╕рд╛рдзрдиреЗ рдореБрдХреНрдд рд╣реЛрддрд╛рдд.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

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

рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╕рд╛рдареА рдЕрдзрд┐рдХ рдЗрд╖реНрдЯрддрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдЖрд╣реЗ, рдЬреА рдбреАрдлреЙрд▓реНрдЯрдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд│реА рдЕрд╕реЗрд▓. MySQL рд╣реЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдХрдордХреБрд╡рдд рдорд╢реАрдиреНрд╕рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рддреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЦреВрдкрдЪ рдЦрд░рд╛рдм рдЖрд╣реЗ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдбреЙрдХрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЗрдЪреНрдЫрд┐рдд рдЖрд╡реГрддреНрддреАрдЪреЗ рдкрд╛рдпрдерди, рд░реБрдмреА, рдиреЛрдбрдЬреЗрдПрд╕, рдкреАрдПрдЪрдкреА рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рдЖрдореНрд╣реА рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рдЖрд╡реГрддреНрддреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рджреВрд░ рдХрд░рддреЛ. рдкреВрд░реНрд╡реА, рд░реБрдмреАрдиреЗ рдПрдХ рдЖрд░рдкреАрдПрдо рдкреЕрдХреЗрдЬ рд╡рд╛рдкрд░рд▓реЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╡реГрддреНрддреА рдмрджрд▓рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдд тАЛтАЛрдЕрд╕реЗ. рд╣реЗ, рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░рд▓рд╛ рдзрдиреНрдпрд╡рд╛рдж, рдХреЛрдб рд╕рд╣рдЬрддреЗрдиреЗ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдЕрд╡рд▓рдВрдмрдирд╛рдВрд╕рд╣ рддреНрдпрд╛рдЪреЗ рдЖрд╡реГрддреНрддреА рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ рдЖрдгрд┐ рдХреЛрдб рдпрд╛ рджреЛрдиреНрд╣реАрдЪреА рдЖрд╡реГрддреНрддреА рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рдд рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреАрд╣реА рдЕрдбрдЪрдг рдирд╛рд╣реА. рдЖрд╡реГрддреНрддреА рдЕрдкрдбреЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЬреБрдирд╛ рдХрдВрдЯреЗрдирд░ рдХрдореА рдХрд░рд╛ рдЖрдгрд┐ рдирд╡реАрди рдХрдВрдЯреЗрдирд░ рд╡рд╛рдврд╡рд╛. рдЬрд░ рдХрд╛рд╣реА рдЪреВрдХ рдЭрд╛рд▓реА рдЕрд╕реЗрд▓, рддрд░ рдЖрдореНрд╣реА рдирд╡реАрди рдХрдВрдЯреЗрдирд░ рдХрдореА рдХрд░реВ рд╢рдХрддреЛ, рдЬреБрдирд╛ рдХрдВрдЯреЗрдирд░ рд╡рд╛рдврд╡реВ рд╢рдХрддреЛ.

рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрди рджреЛрдиреНрд╣реАрдордзреАрд▓ рдХрдВрдЯреЗрдирд░ рд╕рдорд╛рди рдЕрд╕рддреАрд▓. рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдореЛрдареНрдпрд╛ рд╕реНрдерд╛рдкрдиреЗрд╕рд╛рдареА рдЦрд░реЗ рдЖрд╣реЗ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдлреНрд░рдВрдЯрдПрдВрдбрд╡рд░ рдЖрдореНрд╣реА JavaScipt рдЖрдгрд┐ NodeJS рд╡рд╛рдкрд░рддреЛ.

рдЖрддрд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ ReacJS рд╡рд░ рд╢реЗрд╡рдЯрдЪрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрд╣реЗ. рд╡рд┐рдХрд╕рдХрд╛рдиреЗ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рд╕рд░реНрд╡рдХрд╛рд╣реА рдЪрд╛рд▓рд╡рд▓реЗ рдЖрдгрд┐ рд╣реЙрдЯ-рд░реАрд▓реЛрдб рд╡рд╛рдкрд░реВрди рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ.

рдкреБрдвреЗ, JavaScipt рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛рд░реНрдп рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рд╕реНрдЯреЕрдЯрд┐рдХреНрд╕рдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдХреЛрдб nginx рдмрдЪрдд рд╕рдВрд╕рд╛рдзрдирд╛рдВрджреНрд╡рд╛рд░реЗ рджрд┐рд▓рд╛ рдЬрд╛рддреЛ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдпреЗрдереЗ рдореА рдЖрдордЪреНрдпрд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдпреЛрдЬрдирд╛ рджрд┐рд▓реА рдЖрд╣реЗ.

рдХреЛрдгрддреА рдХрд╛рдореЗ рд╕реЛрдбрд╡рд▓реА? рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдЬреНрдпрд╛рд╕рд╣ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдХрд░рддрд╛рдд. рддреНрдпрд╛рдВрдирд╛ рдбреЗрдЯрд╛ рдорд┐рд│рддреЛ. рдпрд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд╡рд░ рдкреБрд╢ рд╕реВрдЪрдирд╛ рдкрд╛рдард╡рдгреЗ рд╣реА рдПрдХ рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ.

рдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдХрд╛рдп рдХреЗрд▓реЗ?

рдЖрдореНрд╣реА рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ рдЕрд╕реЗ рдШрдЯрдХ рд╡рд┐рднрд╛рдЧрд▓реЗ рдЖрд╣реЗрдд рдЬрд╕реЗ: JS рд╡рд░реАрд▓ рдНрдбрдорд┐рди рднрд╛рдЧ, рдмреЕрдХрдПрдВрдб, рдЬреЛ рд░реБрдмреА рдСрди рд░реЗрд▓ рдЕрдВрддрд░реНрдЧрдд REST рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рддреЛ. рдмреЕрдХрдПрдВрдб рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЛ. рд╡реНрдпреБрддреНрдкрдиреНрди рдЭрд╛рд▓реЗрд▓рд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рджрд┐рд▓рд╛ рдЬрд╛рддреЛ. рдЕреЕрдбрдорд┐рди рдкреЕрдирд▓ рдмреЕрдХрдПрдВрдб рдЖрдгрд┐ рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА REST рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЗ.

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

рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ: рдмреНрд░рд╛рдЙрдЭрд░рдордзреАрд▓ рдСрдкрд░реЗрдЯрд░ рдкреНрд░рд╢рд╛рд╕рдХ рдкреЕрдиреЗрд▓рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЛ, рдкреНрд░рд╢рд╛рд╕рдХ рдкреЕрдиреЗрд▓ рдмреЕрдХрдПрдВрдбрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЛ, рдкреБрд╢ рд╕реВрдЪрдирд╛ рдкрд╛рдард╡рдгреЗ рд╣реЗ рдХрд╛рд░реНрдп рдЖрд╣реЗ.

рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рдиреНрд╕ NodeJS рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдШрдЯрдХрд╛рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдд.

рд░рд╛рдВрдЧрд╛ рдмрд╛рдВрдзрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдирдВрддрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдпрдВрддреНрд░рдгреЗрдиреБрд╕рд╛рд░ рд╕реВрдЪрдирд╛ рдкрд╛рдард╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

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

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рд╕рдорд╛рди рдкрдг рд╕рдВрдЦреНрдпреЗрдиреЗ. рдпреЗрдереЗ рдХреЛрдбрдЪрд╛ рдкреБрдирд░реНрд╡рд╛рдкрд░ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдЖрд╣реЗ.

рдЬрд░ рдЖрдзреА рдЖрдкрдг рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд░реВрдкрд╛рдд рдХреЛрдб рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓рд▓реЛ, рддрд░ рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдкреБрд╢ рд╕реВрдЪрдирд╛рдВрдирд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдгрд╛рд░реА рдЖрдордЪреА рд╕реЗрд╡рд╛ рдкреВрд░реНрдг рд╕рд░реНрд╡реНрд╣рд░ рдореНрд╣рдгреВрди рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. рд╣реЗ рдПрдХ API рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдЖрдгрд┐ рдЖрдордЪрд╛ рдирд╡реАрди рд╡рд┐рдХрд╛рд╕ рдЖрдзреАрдЪ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЛ.

рддреНрдпрд╛рд╡реЗрд│реА, рдЖрдореНрд╣реА NodeJS рдЪреА рдЖрд╡реГрддреНрддреА 4 рд╡рд╛рдкрд░рдд рд╣реЛрддреЛ. рдЖрддрд╛ (2017 рдордзреНрдпреЗ - рдПрдб. рдЯреАрдк) рдЕрд▓реАрдХрдбреАрд▓ рдШрдбрд╛рдореЛрдбреАрдВрдордзреНрдпреЗ рдЖрдореНрд╣реА NodeJS рдЪреА рдЖрд╡реГрддреНрддреА 7 рд╡рд╛рдкрд░рддреЛ. рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдШрдЯрдХрд╛рдВрдордзреНрдпреЗ рдХреЛрдгрддреАрд╣реА рдЕрдбрдЪрдг рдирд╛рд╣реА.

рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдкреБрд╢ рд╕реВрдЪрдирд╛ рд╕реЗрд╡реЗрдордзреВрди рдиреЛрдбрдЬреЗрдПрд╕ рдЖрд╡реГрддреНрддреА рд░рд┐рдлреЕрдХреНрдЯрд░ рдЖрдгрд┐ рд╡рд╛рдврд╡реВ рд╢рдХрддрд╛.

рдЖрдгрд┐ рдЬрд░ рдЖрдореНрд╣реА рдПрдкреАрдЖрдп рд╕реБрд╕рдВрдЧрддрддрд╛ рд░рд╛рдЦреВ рд╢рдХрд▓реЛ, рддрд░ рддреЗ рдкреВрд░реНрд╡реА рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдЗрддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╣ рдкреБрдирд░реНрд╕реНрдерд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдбреЙрдХрд░ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ? рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдПрдХ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдЬреЛрдбрддреЛ, рдЬреА рдЖрд╡рд╢реНрдпрдХ рдЕрд╡рд▓рдВрдмрдирд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЗ. рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдШрдЯрдХ рддрд╛рд░реНрдХрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рддреЛрдбрд▓реЗ рдЖрд╣реЗрдд. рдмреЕрдХрдПрдВрдб рдбреЗрд╡реНрд╣рд▓рдкрд░рдЪрд╛ рд╣рд╛ рдХрд┐рдорд╛рди рд╕рдВрдЪ рдЖрд╣реЗ.

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

рд╕реНрдЯреЕрдЯрд┐рдХ рд╕рд░реНрд╡реНрд╣ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА nginx рд╕рд╣ рд╡реЗрдЧрд│рд╛ рддрд┐рд╕рд░рд╛ рдХрдВрдЯреЗрдирд░ рд╡рд╛рдкрд░рддреЛ. рдЪрд┐рддреНрд░реЗ рдЕрдкрд▓реЛрдб рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. рдмреЕрдХрдПрдВрдб рддреНрдпрд╛рдВрдирд╛ рдкреВрд░реНрд╡-рддрдпрд╛рд░ рд╡реНрд╣реЙрд▓реНрдпреВрдордордзреНрдпреЗ рдареЗрд╡рддреЗ, рдЬреЗ nginx рд╕рд╣ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдорд╛рдЙрдВрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рд╕реНрдерд┐рд░ рджреЗрддреЗ.

nginx, mysql рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдбреЙрдХрд░ рдлреЛрд▓реНрдбрд░ рдЬреЛрдбрд▓реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ. рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджрд╛ рд╡рд┐рдХрд╕рдХ рддреНрдпрд╛рдЪреНрдпрд╛ рдорд╢реАрдирд╡рд░ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЪрд╛ рдЧрд┐рдЯ рдХреНрд▓реЛрди рдХрд░рддреЛ, рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреЗ рдЖрдзреАрдЪ рд╕реНрдерд╛рдирд┐рдХ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рдПрдХ рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдЕрд╕рддреЛ. рдХреЛрдгрддреЗ рдкреЛрд░реНрдЯ рдХрд┐рдВрд╡рд╛ рдХреЛрдгрддреА рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд▓рд╛рдЧреВ рдХрд░рд╛рд╡реАрдд рдЕрд╕рд╛ рдкреНрд░рд╢реНрди рдирд╛рд╣реА.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдкреБрдвреЗ, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдиреЗрдХ рдШрдЯрдХ рдЖрд╣реЗрдд: рдкреНрд░рд╢рд╛рд╕рдХ, рдорд╛рд╣рд┐рддреА-рдПрдкреАрдЖрдп, рдкреБрд╢ рд╕реВрдЪрдирд╛.

рд╣реЗ рд╕рд░реНрд╡ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдЖрдгрдЦреА рдПрдХ рднрд╛рдВрдбрд╛рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ, рдЬреНрдпрд╛рд▓рд╛ рдЖрдореНрд╣реА рдбреЙрдХрд░рд╛рдЗрдЬреНрдб-рдЕреЕрдк рдореНрд╣рдгрддреЛ. рдпрд╛рдХреНрд╖рдгреА рдЖрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХрд╛рдкреВрд░реНрд╡реА рдЕрдиреЗрдХ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬ рд╡рд╛рдкрд░рддреЛ. рддреЗ рдлрдХреНрдд рддрд╛рд░реНрдХрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рднрд┐рдиреНрди рдЖрд╣реЗрдд - GitLab рдордзреНрдпреЗ рддреЗ рдлреЛрд▓реНрдбрд░рд╕рд╛рд░рдЦреЗ рджрд┐рд╕рддреЗ, рдкрд░рдВрддреБ рд╡рд┐рдХрд╕рдХрд╛рдЪреНрдпрд╛ рдорд╢реАрдирд╡рд░, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдПрдХ рдлреЛрд▓реНрдбрд░. рдПрдХ рдкрд╛рддрд│реА рдЦрд╛рд▓реА рддреЗ рдШрдЯрдХ рдЖрд╣реЗрдд рдЬреЗ рдПрдХрддреНрд░ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рд╣реЗ рдлрдХреНрдд рдбреЙрдХрд░рд╛рдЗрдЬреНрдб рдЕреЕрдкрдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ. рдЖрдореНрд╣реА рдпреЗрдереЗ рдбреЙрдХрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рджреЗрдЦреАрд▓ рдЖрдгрддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рднрд░рддреЛ. рдПрдХ README.md рдЖрд╣реЗ рдЬреЛ рдкреНрд░рдХрд▓реНрдк рдХрд╕рд╛ рдЪрд╛рд▓рд╡рд╛рдпрдЪрд╛ рдпрд╛рдЪреЗ рдереЛрдбрдХреНрдпрд╛рдд рд╡рд░реНрдгрди рдХрд░рддреЛ.

рдпреЗрдереЗ рдЖрдкрдг рджреЛрди рдбреЙрдХрд░-рдХрдВрдкреЛрдЬ рдлрд╛рдЗрд▓реНрд╕ рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд. рд╣реЗ рдЯрдкреНрдкреНрдпрд╛рдЯрдкреНрдкреНрдпрд╛рдиреЗ рдзрд╛рд╡рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рдХрд╛рд╕рдХ рдХреЛрд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЛ, рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рд▓рд╛ рдкреБрд╢ рд╕реВрдЪрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╕рддреЗ, рддреЛ рдлрдХреНрдд рдбреЙрдХрд░-рдХрдВрдкреЛрдЬ рдлрд╛рдЗрд▓ рд▓рд╛рдБрдЪ рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░, рд╕рдВрд╕рд╛рдзрди рдЬрддрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рдиреНрд╕рд╕рд╣ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, docker-compose.yaml рдЖрдгрд┐ docker-compose-push.yaml рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

docker-compose.yaml рдЖрдгрд┐ docker-compose-push.yaml рдПрдХрд╛ рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдПрдХрд▓ рдЖрднрд╛рд╕реА рдиреЗрдЯрд╡рд░реНрдХ рдЖрдкреЛрдЖрдк рддрдпрд╛рд░ рд╣реЛрддреЗ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдШрдЯрдХрд╛рдВрдЪреЗ рд╡рд░реНрдгрди. рд╣реА рдПрдХ рдЕрдзрд┐рдХ рдкреНрд░рдЧрдд рдлрд╛рдЗрд▓ рдЖрд╣реЗ рдЬреА рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдХрд▓рдирд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рдпреЗрдереЗ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдХрд╛рдп рдЖрд╣реЗ? рдпреЗрдереЗ рдЖрдкрдг рдмреЕрд▓рдиреНрд╕рд░ рдШрдЯрдХ рд╕рд╛рджрд░ рдХрд░рддреЛ.

рд╣реА рдПрдХ рд░реЗрдбреАрдореЗрдб рдбреЙрдХрд░ рдЗрдореЗрдЬ рдЖрд╣реЗ рдЬреА nginx рдЪрд╛рд▓рд╡рддреЗ рдЖрдгрд┐ рдбреЙрдХрд░ рд╕реЙрдХреЗрдЯрд╡рд░ рдРрдХрдгрд╛рд░рд╛ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд╣реЗ. рдбрд╛рдпрдиреЕрдорд┐рдХ, рдЬрд╕реЗ рдХрдВрдЯреЗрдирд░ рдЪрд╛рд▓реВ рдЖрдгрд┐ рдмрдВрдж рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рддреЗ nginx рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреБрдиреНрд╣рд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ. рдЖрдореНрд╣реА рддреГрддреАрдп-рд╕реНрддрд░реАрдп рдбреЛрдореЗрди рдирд╛рд╡рд╛рдВрджреНрд╡рд╛рд░реЗ рдШрдЯрдХ рд╣рд╛рддрд╛рд│рдгреА рд╡рд┐рддрд░реАрдд рдХрд░рддреЛ.

рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА .dev рдбреЛрдореЗрди - api.informer.dev рд╡рд╛рдкрд░рддреЛ. рдбреЗрд╡реНрд╣рд▓рдкрд░рдЪреНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ рдорд╢реАрдирд╡рд░ .dev рдбреЛрдореЗрди рдЕрд╕рд▓реЗрд▓реЗ рдЕрд░реНрдЬ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд.

рдкреБрдвреЗ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд▓реНрдкрд╛рдд рдХреЙрдиреНрдлрд┐рдЧрд╕реН рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рд╕рд░реНрд╡ рдкреНрд░рдХрд▓реНрдк рдПрдХрд╛рдЪ рд╡реЗрд│реА рдПрдХрддреНрд░ рд╕реБрд░реВ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЧреНрд░рд╛рдлрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдХреНрд▓рд╛рдпрдВрдЯ рд╣рд╛ рдЖрдордЪрд╛ рдмреНрд░рд╛рдЙрдЭрд░ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рд╕рд╛рдзрди рдЖрд╣реЗ рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдЖрдореНрд╣реА рдмреЕрд▓рдиреНрд╕рд░рд▓рд╛ рд╡рд┐рдирдВрддреА рдХрд░рддреЛ.

рдбреЛрдореЗрди рдиреЗрдо рдмреЕрд▓рдиреНрд╕рд░ рдХреЛрдгрддреНрдпрд╛ рдХрдВрдЯреЗрдирд░рд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрд╛рдпрдЪрд╛ рд╣реЗ рдард░рд╡рддреЛ.

рд╣реЗ nginx рдЕрд╕реВ рд╢рдХрддреЗ, рдЬреЗ рдкреНрд░рд╢рд╛рд╕рдХ JS рджреЗрддреЗ. рд╣реЗ nginx рдЕрд╕реВ рд╢рдХрддреЗ, рдЬреЗ API рджреЗрддреЗ, рдХрд┐рдВрд╡рд╛ рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реНрд╕, рдЬреНрдпрд╛ nginx рд▓рд╛ рдЗрдореЗрдЬ рдЕрдкрд▓реЛрдбрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рджрд┐рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рдЖрдХреГрддреА рджрд░реНрд╢рд╡рд┐рддреЗ рдХреА рдХрдВрдЯреЗрдирд░ рдЖрднрд╛рд╕реА рдиреЗрдЯрд╡рд░реНрдХрджреНрд╡рд╛рд░реЗ рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдкреНрд░реЙрдХреНрд╕реАрдЪреНрдпрд╛ рдорд╛рдЧреЗ рд▓рдкрд▓реЗрд▓реЗ рдЖрд╣реЗрдд.

рд╡рд┐рдХрд╕рдХрд╛рдЪреНрдпрд╛ рдорд╢реАрдирд╡рд░, рддреБрдореНрд╣реА рдЖрдпрдкреА рдЬрд╛рдгреВрди рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рддрддреНрддреНрд╡рддрдГ рдЖрдореНрд╣реА рд╣реЗ рд╡рд╛рдкрд░рдд рдирд╛рд╣реА. рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рд╡реЗрд╢рд╛рдЪреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЧрд░рдЬ рдирд╛рд╣реА.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рддреБрдордЪрд╛ рдЕрд░реНрдЬ рдбреЙрдХрд░рд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдгрддреЗ рдЙрджрд╛рд╣рд░рдг рдкрд╣рд╛рд╡реЗ? рдорд╛рдЭреНрдпрд╛ рдорддреЗ, MySQL рд╕рд╛рдареА рдЕрдзрд┐рдХреГрдд рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рд╣реЗ рдПрдХ рдЪрд╛рдВрдЧрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ.

рд╣реЗ рдЦреВрдкрдЪ рдЖрд╡реНрд╣рд╛рдирд╛рддреНрдордХ рдЖрд╣реЗ. рдЕрдиреЗрдХ рдЖрд╡реГрддреНрддреНрдпрд╛ рдЖрд╣реЗрдд. рдкрд░рдВрддреБ рддреНрдпрд╛рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреБрдвреАрд▓ рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдЙрджреНрднрд╡реВ рд╢рдХрдгрд╛рд░реНтАНрдпрд╛ рдЕрдиреЗрдХ рдЧрд░рдЬрд╛ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЬрд░ рддреБрдореНрд╣реА рд╡реЗрд│ рдШрд╛рд▓рд╡рд▓рд╛ рдЖрдгрд┐ рд╣реЗ рд╕рд░реНрд╡ рдХрд╕реЗ рдкрд░рд╕реНрдкрд░рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ рд╣реЗ рд╢реЛрдзреВрди рдХрд╛рдврд▓реЗ рддрд░ рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрд╡рдпрдВ-рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рдХреЛрдгрддреАрд╣реА рдЕрдбрдЪрдг рдпреЗрдгрд╛рд░ рдирд╛рд╣реА.

Hub.docker.com рдордзреНрдпреЗ рд╕рд╣рд╕рд╛ github.com рдЪреНрдпрд╛ рд▓рд┐рдВрдХ рдЕрд╕рддрд╛рдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рдереЗрдЯ рдХрдЪреНрдЪрд╛ рдбреЗрдЯрд╛ рдЕрд╕рддреЛ рдЬреНрдпрд╛рддреВрди рддреБрдореНрд╣реА рд╕реНрд╡рддрдГ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛.

рдкреБрдвреЗ рдпрд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдПрдХ docker-endpoint.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╣реЗ, рдЬреА рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдкреНрд░рд╛рд░рдВрднрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪрдЪреНрдпрд╛ рдкреБрдвреАрд▓ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ.

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

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╛рд╕рд╡рд░реНрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ. рдЖрдореНрд╣реА рдореНрд╣рдгрддреЛ рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

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

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

github.com рд╡рд░ MySQL рдЪреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡реГрддреНрддреА рдХрд╢реА рджрд┐рд╕рддреЗ рдпрд╛рдЪреЗ рд╣реЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ. рддреБрдореНрд╣реА рдбреЙрдХрд░рдлрд╛рдИрд▓ рдЙрдШрдбреВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддрд┐рдереЗ рдЗрдиреНрд╕реНрдЯреЙрд▓реЗрд╢рди рдХрд╕реЗ рдЪрд╛рд▓реВ рдЖрд╣реЗ рддреЗ рдкрд╛рд╣реВ рд╢рдХрддрд╛.

docker-endpoint.sh рд╣реА рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╣реЗ. рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдкреНрд░рд╛рд░рдВрднрд╛рджрд░рдореНрдпрд╛рди, рдХрд╛рд╣реА рддрдпрд╛рд░реАрдЪреНрдпрд╛ рдЪрд░рдгрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ, рдЖрдгрд┐ рдпрд╛ рд╕рд░реНрд╡ рдХреНрд░рд┐рдпрд╛ рдлрдХреНрдд рдЖрд░рдВрднрд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рджреБрд╕рд▒реНрдпрд╛ рднрд╛рдЧрд╛рдХрдбреЗ рд╡рд│реВ.

рд╕реНрддреНрд░реЛрдд рдХреЛрдб рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА gitlab рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХреЗрд▓реЗ. рд╣реА рдПрдХ рдмрд▒реНрдпрд╛рдкреИрдХреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╣реЗ.

Gitlab рдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрдкреИрдХреА рдПрдХ Gitlab CI рдЖрд╣реЗ. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрджреЗрд╢рд╛рдВрдЪреНрдпрд╛ рдХреНрд░рдорд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдЬреЗ рдирдВрддрд░ рдХреЛрдб рд╡рд┐рддрд░рдг рдкреНрд░рдгрд╛рд▓реА рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдЪрд╛рдЪрдгреА рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдИрд▓.

Gitlab CI 2 рдЪрд░реНрдЪрд╛ https://goo.gl/uohKjI - рд░реБрдмреА рд░рд╢рд┐рдпрд╛ рдХреНрд▓рдмрдЪрд╛ рдЕрд╣рд╡рд╛рд▓ - рдЕрдЧрджреА рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЖрдгрд┐ рдХрджрд╛рдЪрд┐рдд рддреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕реЗрд▓.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЖрддрд╛ рдЖрдкрдг Gitlab CI рд╕рдХреНрд░рд┐рдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдп рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреЗ рдкрд╛рд╣реВ. Gitlab CI рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд .gitlab-ci.yml рдлрд╛рдЗрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдЪреНрдпрд╛ рд░реВрдЯрдордзреНрдпреЗ рдареЗрд╡рд╛рдпрдЪреА рдЖрд╣реЗ.

рдпреЗрдереЗ рдЖрдореНрд╣реА рд╡рд░реНрдгрди рдХрд░рддреЛ рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ рдЪрд╛рдЪрдгреА, рддреИрдирд╛рддреА рд╕рд╛рд░рдЦреНрдпрд╛ рд░рд╛рдЬреНрдпрд╛рдВрдЪрд╛ рдХреНрд░рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рд╛рдпрдЪрд╛ рдЖрд╣реЗ.

рдЖрдордЪрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдереЗрдЯ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬ рдХреЙрд▓ рдХрд░рдгрд╛рд▒реНрдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЛ. рд╣реЗ рдлрдХреНрдд рдмреЕрдХрдПрдВрдб рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ.

рдкреБрдвреЗ, рдЖрдореНрд╣реА рдореНрд╣рдгрддреЛ рдХреА рдбреЗрдЯрд╛рдмреЗрд╕ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЪрд╛рдЪрдгреНрдпрд╛ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдерд▓рд╛рдВрддрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЬрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдПрд░рд░ рдХреЛрдб рдкрд░рдд рдХреЗрд▓рд╛ рдирд╛рд╣реА, рддрд░ рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЬрдирд╛рдЪреНрдпрд╛ рджреБрд╕рд▒реНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдЬрд╛рддреЗ.

рд╕реНрдЯреЗрдЬрд┐рдВрдЧрд╕рд╛рдареА рд╕рдзреНрдпрд╛ рддреИрдирд╛рддреАрдЪрд╛ рдЯрдкреНрдкрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЖрд╣реЗ. рдЖрдореНрд╣реА рд╢реВрдиреНрдп-рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдЖрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗ рдирд╛рд╣реА.

рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдХрдВрдЯреЗрдирд░ рдЬрдмрд░рджрд╕реНрддреАрдиреЗ рд╡рд┐рдЭрд╡рддреЛ рдЖрдгрд┐ рдирдВрддрд░ рдЖрдореНрд╣реА рдЪрд╛рдЪрдгреА рджрд░рдореНрдпрд╛рди рдкрд╣рд┐рд▓реНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реЗ рд╕рд░реНрд╡ рдХрдВрдЯреЗрдирд░ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдврд╡рддреЛ.

рдЖрдореНрд╣реА рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдиреА рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рд╕рд╛рдареА рдзрд╛рд╡рдд рдЖрд╣реЛрдд.

рдПрдХ рдиреЛрдВрдж рдЖрд╣реЗ рдХреА рд╣реЗ рдлрдХреНрдд рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦреЗрд▓рд╛ рд▓рд╛рдЧреВ рд╣реЛрддреЗ.

рдЗрддрд░ рд╢рд╛рдЦрд╛ рдмрджрд▓рддрд╛рдирд╛ рдЕрдВрдорд▓рд╛рдд рдпреЗрдд рдирд╛рд╣реА.

рд╢рд╛рдЦрд╛рдВрджреНрд╡рд╛рд░реЗ рд░реЛрд▓рдЖрдЙрдЯреНрд╕ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рд╣реЗ рдЖрдгрдЦреА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдЧрд┐рдЯрд▓реЕрдм рд░рдирд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд╣реА рдЙрдкрдпреБрдХреНрддрддрд╛ рдЧреЛрд▓рдВрдЧрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реА рдЖрд╣реЗ. рд╣реА рдПрдХрдЪ рдлрд╛рдЗрд▓ рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА рдЧреЛрд▓рдВрдЧ рдЬрдЧрд╛рдд рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ, рдЬреНрдпрд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрд╡рд▓рдВрдмрдирд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╡рд░, рдЖрдореНрд╣реА рдЧрд┐рдЯрд▓реЕрдм рд░рдирд░рдЪреА рдиреЛрдВрджрдгреА рдХрд░рддреЛ.

рдЖрдореНрд╣рд╛рд▓рд╛ Gitlab рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдХреА рдорд┐рд│рддреЗ.

рддреНрдпрд╛рдирдВрддрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрдирд╡рд░реАрд▓ рдЗрдирд┐рд╢рд┐рдПрд▓рд╛рдпрдЭреЗрд╢рди рдХрдорд╛рдВрдбрд▓рд╛ рдХреЙрд▓ рдХрд░рддреЛ.

рдЧрд┐рдЯрд▓реЕрдм рд░рдирд░ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреАрдкрдгреЗ рд╕реЗрдЯ рдХрд░рд╛ (рд╢реЗрд▓, рдбреЙрдХрд░, рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рдмреЙрдХреНрд╕, рдПрд╕рдПрд╕рдПрдЪ)

.gitlab-ci.yml рд╕реЗрдЯрд┐рдВрдЧрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, Gitlab рд░рдирд░рд╡рд░реАрд▓ рдХреЛрдб рдкреНрд░рддреНрдпреЗрдХ рдХрдорд┐рдЯрд╡рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрдИрд▓.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдЧрд┐рдЯрд▓реЕрдмрдордзреНрдпреЗ рддреЗ рджреГрд╢реНрдпрдорд╛рдирдкрдгреЗ рдХрд╕реЗ рджрд┐рд╕рддреЗ. рдЖрдореНрд╣реА GItlab CI рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ рдзреНрд╡рдЬ рдЖрд╣реЗ рдЬреЛ рдпрд╛ рдХреНрд╖рдгреА рдмрд┐рд▓реНрдбрдЪреА рд╕реНрдерд┐рддреА рджрд░реНрд╢рд╡рд┐рддреЛ.

рдЖрдореНрд╣реА рдкрд╛рд╣рддреЛ рдХреА 4 рдорд┐рдирд┐рдЯрд╛рдВрдкреВрд░реНрд╡реА рдПрдХ рдХрдорд┐рдЯ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдЬреНрдпрд╛рдиреЗ рд╕рд░реНрд╡ рдЪрд╛рдЪрдгреНрдпрд╛ рдЙрддреНрддреАрд░реНрдг рдХреЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдХреЛрдгрддреАрд╣реА рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рд▓реА рдирд╛рд╣реА.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЖрдореНрд╣реА рдмрд┐рд▓реНрдбреНрд╕ рдЬрд╡рд│реВрди рдкрд╛рд╣реВ рд╢рдХрддреЛ. рдпреЗрдереЗ рдЖрдкрдг рдкрд╛рд╣рддреЛ рдХреА рджреЛрди рд░рд╛рдЬреНрдпреЗ рдЖрдзреАрдЪ рдирд┐рдШреВрди рдЧреЗрд▓реА рдЖрд╣реЗрдд. рд╕реНрдЯреЗрдЬрд┐рдВрдЧрд╡рд░ рдЪрд╛рдЪрдгреА рд╕реНрдерд┐рддреА рдЖрдгрд┐ рдЙрдкрдпреЛрдЬрди рд╕реНрдерд┐рддреА.

рдЬрд░ рдЖрдкрдг рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рд▓реНрдбрд╡рд░ рдХреНрд▓рд┐рдХ рдХреЗрд▓реЗ, рддрд░ .gitlab-ci.yml рдиреБрд╕рд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рд░рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрдорд╛рдВрдбрдЪреЗ рдХрдиреНрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдЕрд╕реЗрд▓.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЖрдордЪрд╛ рдЙрддреНрдкрд╛рджрди рдЗрддрд┐рд╣рд╛рд╕ рдЕрд╕рд╛ рджрд┐рд╕рддреЛ. рдЖрдореНрд╣реА рдкрд╛рд╣рддреЛ рдХреА рддреЗрдереЗ рдпрд╢рд╕реНрд╡реА рдкреНрд░рдпрддреНрди рдЭрд╛рд▓реЗ. рдЬреЗрд╡реНрд╣рд╛ рдЪрд╛рдЪрдгреНрдпрд╛ рд╕рдмрдорд┐рдЯ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рддреЗ рдкреБрдвреАрд▓ рдЪрд░рдгрд╛рд╡рд░ рдЬрд╛рдд рдирд╛рд╣реА рдЖрдгрд┐ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдХреЛрдб рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдбреЙрдХрд░ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рд╕реНрдЯреЗрдЬрд┐рдВрдЧрд╡рд░ рдХреЛрдгрддреА рдХрд╛рд░реНрдпреЗ рд╕реЛрдбрд╡рд▓реА? рдЖрдордЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдШрдЯрдХ рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рд╣реЛрддреА, рдлрдХреНрдд рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪрд╛ рднрд╛рдЧ рд╣реЛрддрд╛, рд╕рдВрдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рдирд╛рд╣реА.

рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рд╕реНрд╡рддрдВрддреНрд░ рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдлреЛрдбрд╛рд╡реА рд▓рд╛рдЧрд▓реА.

рдЖрдореНрд╣реА рд╣реЗ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЖрд▓реА рдХреА рдбреЙрдХрд░-рдХрдВрдкреЛрдЬ рдкреНрд░рддреНрдпреЗрдХ рд╡рдбрд┐рд▓рд╛рдВрд╕рд╛рдареА рд╕реНрд╡рддрдГрдЪреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдкреЗрд╕ рддрдпрд╛рд░ рдХрд░рддреЗ рдЖрдгрд┐ рд╢реЗрдЬрд╛рд░рдЪреЗ рдШрдЯрдХ рджрд┐рд╕рдд рдирд╛рд╣реАрдд.

рдЬрд╡рд│рдкрд╛рд╕ рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдбреЙрдХрд░рдордзреНрдпреЗ рдореЕрдиреНрдпреБрдЕрд▓реА рдиреЗрдЯрд╡рд░реНрдХ рддрдпрд╛рд░ рдХреЗрд▓реЗ. рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдЕрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд╛рдкрд░рддрд╛ рдЕрд╕реЗ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗ рд╣реЛрддреЗ.

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдпрд╛ рдЬрд╛рд│реАрдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрдгрд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдЗрддрд░ рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдШрдЯрдХ рдкрд╛рд╣рддреЛ.

рдкреБрдвреАрд▓ рд╕рдорд╕реНрдпрд╛ рдЕрдиреЗрдХ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреЗ рдЖрд╣реЗ.

рд╣реЗ рд╕рд░реНрд╡ рд╕реБрдВрджрд░ рджрд┐рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрдирд╛рдЪреНрдпрд╛ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдЬрд╡рд│ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдкреЛрд░реНрдЯ 80 рдХрд┐рдВрд╡рд╛ 443 рд╡рд╛рдкрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ, рдЬреЗ WEB рдордзреНрдпреЗ рд╕рд░реНрд╡рддреНрд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЖрдореНрд╣реА рддреЗ рдХрд╕реЗ рд╕реЛрдбрд╡рд▓реЗ? рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдореЛрдареНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рдПрдХ рдЧрд┐рдЯрд▓реЕрдм рд░рдирд░ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓рд╛ рдЖрд╣реЗ.

рдЧрд┐рдЯрд▓реЕрдм рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдиреЗрдХ рд╡рд┐рддрд░реАрдд рдЧрд┐рдЯрд▓реЕрдм рд░рдирд░реНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ, рдЬреЗ рд╕рд░реНрд╡ рдХрд╛рд░реНрдпреЗ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рддрдкрдгреЗ рдШреЗрддреАрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдЪрд╛рд▓рд╡рддреАрд▓.

рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдШрд░ рдирд╛рд╣реА рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕рдЪрд╛ рдЧрдЯ рдПрдХрд╛ рдЧрд┐рдЯрд▓реЕрдм рд░рдирд░рдкрд░реНрдпрдВрдд рдорд░реНрдпрд╛рджрд┐рдд рдареЗрд╡рд▓рд╛ рдЖрд╣реЗ, рдЬреЛ рдЖрдордЪреНрдпрд╛ рд╡реНрд╣реЙрд▓реНрдпреВрдорд╕рд╣ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рдорд╕реНрдпрд╛рдВрд╢рд┐рд╡рд╛рдп рд╕рд╛рдордирд╛ рдХрд░рддреЛ.

рдЖрдореНрд╣реА nginx-рдкреНрд░реЙрдХреНрд╕реА рд╡реЗрдЧрд│реНрдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рд╣рд▓рд╡рд▓реЗ рдЖрдгрд┐ рддреНрдпрд╛рддреАрд▓ рд╕рд░реНрд╡ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рдЧреНрд░рд┐рдб рдЬреЛрдбрд▓реЗ.

рдЖрдордЪреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдПрдХ рдЧреНрд░рд┐рдб рдЖрд╣реЗ рдЖрдгрд┐ рдмреЕрд▓рдиреНрд╕рд░рдордзреНрдпреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдВрдиреБрд╕рд╛рд░ рдЕрдиреЗрдХ рдЧреНрд░рд┐рдб рдЖрд╣реЗрдд. рд╣реЗ рдбреЛрдореЗрди рдирд╛рд╡рд╛рдВрджреНрд╡рд╛рд░реЗ рдкреБрдвреЗ рдкреНрд░реЙрдХреНрд╕реА рдХрд░реВ рд╢рдХрддреЗ.

рдЖрдордЪреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдкреЛрд░реНрдЯ 80 рд╡рд░реАрд▓ рдбреЛрдореЗрдирджреНрд╡рд╛рд░реЗ рдпреЗрддрд╛рдд рдЖрдгрд┐ рдпрд╛ рдбреЛрдореЗрдирд▓рд╛ рд╕реЗрд╡рд╛ рджреЗрдгрд╛рд▒реНрдпрд╛ рдХрдВрдЯреЗрдирд░ рдЧрдЯрд╛рдордзреНрдпреЗ рд╕реЛрдбрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреНрдпрд╛? рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рд░реНрд╡ рдХрдВрдЯреЗрдирд░ рд░реВрдЯ рдореНрд╣рдгреВрди рдЪрд╛рд▓рддрд╛рдд. рд╣реЗ рд╕рд┐рд╕реНрдЯреАрдордЪреНрдпрд╛ рд░реВрдЯ рд╣реЛрд╕реНрдЯрд╕рд╛рдареА рд░реВрдЯ рдЕрд╕рдорд╛рди рдЖрд╣реЗ.

рддрдерд╛рдкрд┐, рдЖрдкрдг рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛рд╕, рддреЗ рд░реВрдЯ рд╣реЛрдИрд▓ рдЖрдгрд┐ рдЖрдореНрд╣реА рдпрд╛ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рдлрд╛рдИрд▓ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЛ.

рдЬрд░ рд╡рд┐рдХрд╕рдХрд╛рдиреЗ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЖрдгрд┐ рддреЗрдереЗ рдХрд╛рд╣реА рдЖрдЬреНрдЮрд╛ рдХреЗрд▓реНрдпрд╛ рдЬреНрдпрд╛ рдлрд╛рдпрд▓реА рддрдпрд╛рд░ рдХрд░рддрд╛рдд, рдирдВрддрд░ рдХрдВрдЯреЗрдирд░ рд╕реЛрдбрд▓рд╛, рддрд░ рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд░рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдПрдХ рдлрд╛рдЗрд▓ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреНрдпрд╛рд▓рд╛ рдкреНрд░рд╡реЗрд╢ рдирд╛рд╣реА.

рддреЗ рдХрд╕реЗ рд╕реЛрдбрд╡рддрд╛ рдпреЗрдИрд▓? рддреБрдореНрд╣реА рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЕрд╕рдгрд╛рд░реЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЬреЛрдбреВ рд╢рдХрддрд╛.

рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЬреЛрдбрд▓рд╛ рддреЗрд╡реНрд╣рд╛ рдХреЛрдгрддреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рд▓реНрдпрд╛?

рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдиреЗрдХрджрд╛ рд╕рдорд╛рди рдЧрдЯ рдЖрдпрдбреА (рдпреВрдЖрдпрдбреА) рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрдпрдбреА (рдЬреАрдЖрдпрдбреА) рдирд╕рддреЛ.

рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдЖрдпрдбреА 1000 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╡рд╛рдкрд░рддреЛ.

рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╣реЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрд╢реА рдЬреБрд│рд▓реЗ рдХреА рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ рд╡рд┐рдХрд╕рдХ рдЙрдмрдВрдЯреВ рдУрдПрд╕ рд╡рд╛рдкрд░рддрд╛рдд. рдЖрдгрд┐ рдЙрдмрдВрдЯреВрд╡рд░, рдкрд╣рд┐рд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдЖрдпрдбреА 1000 рдЖрд╣реЗ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдпреЛрдЬрдирд╛ рдЖрд╣реЗрдд рдХрд╛?

рдбреЙрдХрд░ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рд╡рд╛рдЪрд╛. рдкреНрд░рдХрд▓реНрдк рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ, рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдмрджрд▓рдд рдЖрд╣реЗ. рджреЛрди-рддреАрди рдорд╣рд┐рдиреНрдпрд╛рдВрдкреВрд░реНрд╡реА рдорд┐рд│рд╛рд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рд╣рд│реВрд╣рд│реВ рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╣реЛрдд рдЪрд╛рд▓рд▓рд╛ рдЖрд╣реЗ.

рдЖрдореНрд╣реА рд╕реЛрдбрд╡рд▓реЗрд▓реНрдпрд╛ рдХрд╛рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд╛рдирдХ рдорд╛рд░реНрдЧрд╛рдВрдиреА рдЖрдзреАрдЪ рд╕реЛрдбрд╡рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рддреНрдпрд╛рдореБрд│реЗ рдорд▓рд╛ рдереЗрдЯ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рдирдордзреНрдпреЗ рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдзреАрдЪ рдкреБрдвреЗ рдЬрд╛рдпрдЪреЗ рдЖрд╣реЗ.

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгрдЬреЗ рдбреЙрдХрд░рдЪреА рдЕрдВрдЧрднреВрдд рдпрдВрддреНрд░рдгрд╛ рдЬреНрдпрд╛рд▓рд╛ рдбреЙрдХрд░ рд╕реНрд╡рд╛рд░реНрдо рдореНрд╣рдгрддрд╛рдд, рдЬреЗ рдмреЙрдХреНрд╕рдордзреВрди рдмрд╛рд╣реЗрд░ рдпреЗрддреЗ. рдорд▓рд╛ рдбреЙрдХрд░ рд╕реНрд╡рд╛рд░реНрдо рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЙрддреНрдкрд╛рджрдирд╛рдд рдХрд╛рд╣реАрддрд░реА рдЪрд╛рд▓рд╡рд╛рдпрдЪреЗ рдЖрд╣реЗ.

рд╕реНрдкреЙрдирд┐рдВрдЧ рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧрд╕рд╣ рдХрд╛рдо рдХрд░рдгреЗ рдЧреИрд░рд╕реЛрдпреАрдЪреЗ рдмрдирд╡рддреЗ. рдЖрддрд╛ рдиреЛрдВрджреА рд╡реЗрдЧрд│реНрдпрд╛ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд. рддреЗ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рд╡рд┐рдЦреБрд░рд▓реЗрд▓реЗ рдЖрд╣реЗрдд. рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рд▓реЙрдЧрдордзреНрдпреЗ рд╕реЛрдпреАрд╕реНрдХрд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ рд╣реЗ рдПрдХ рдХрд╛рд░реНрдп рдЖрд╣реЗ.

рдбреЙрдХрд░ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдм CI рд╕рд╣ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛