рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреА рд▓рдбрд╝рд╛рдИ

рдкрд┐рдЫрд▓реЗ рджрд╢рдХ рдореЗрдВ, рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг (рд╕рддрдд рдПрдХреАрдХрд░рдг, рд╕реАрдЖрдИ) рдФрд░ рдирд┐рд░рдВрддрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди (рд╕рддрдд рд╡рд┐рддрд░рдг, рд╕реАрдбреА) рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕рдВрдЪрд╛рд▓рди (рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдСрдкрд░реЗрд╢рдВрд╕, DevOps) рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХрд╛рд░рдг CI / CD рдЯреВрд▓реНрд╕ рдХреА рдорд╛рдВрдЧ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╕рдордп рдХреЗ рд╕рд╛рде рдЪрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдЙрдирдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЧреБрдгрд╡рддреНрддрд╛ рдЖрд╢реНрд╡рд╛рд╕рди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ (рдЧреБрдгрд╡рддреНрддрд╛ рдЖрд╢реНрд╡рд╛рд╕рди, рдХреНрдпреВрдП) рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдХрдИ рдирдП рдЙрддреНрдкрд╛рдж рд▓рдЧрд╛рддрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рд╣реА рдЙрдкрдХрд░рдг рдЪреБрдирдирд╛ рдХреЛрдИ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИред

рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреА рд▓рдбрд╝рд╛рдИ

рд╕рднреА рдореМрдЬреВрджрд╛ рд╕реАрдЖрдИ / рд╕реАрдбреА рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ, рджреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ рдЬреЛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдХреБрдЫ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИред рд╣рдо рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ GitLab CI / CD рдЯреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ GitLab рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЬреЗрдирдХреАрдВрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ 16000 рдЧрд┐рдЯрд╣рдм рдкрд░ рд╕рд┐рддрд╛рд░реЗред Gitlab.com рдкрд░ GitLab рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдиреЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕реНрдХреЛрд░ рдХрд┐рдпрд╛ 2000 рд╕рд┐рддрд╛рд░реЗред рдпрджрд┐ рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдирдХрд┐рдВрд╕ рдиреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 8 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╕реНрдЯрд╛рд░ рдмрдирд╛рдП, рдЬрд┐рд╕рдореЗрдВ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ / рд╕реАрдбреА рд╢рд╛рдорд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди CI / CD рдЯреВрд▓ рдЪреБрдирддреЗ рд╕рдордп, рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╕рдВрдХреЗрддрдХ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХреЛ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреНрдп рд╣реИрдВ, рдФрд░ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ / рд╕реАрдбреА рдХрдИ рддреБрд▓рдирд╛рдУрдВ рдореЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рдХреНрдпреЛрдВ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, G2 рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЗ рдбреЗрдЯрд╛ рд▓реЗрдВ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдиреНрд╣реЗрдВ рджреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд░реЗрдЯрд┐рдВрдЧ рдХреЛ рд╕рдВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдФрд╕рдд рд░реЗрдЯрд┐рдВрдЧ рд╣реИ рдЬреЗрдирдХреАрдВрд╕, 288 рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, 4,3 рд╕рд┐рддрд╛рд░реЗ рд╣реИрдВред рдУ рдУ GitLab 270 рд╕рдореАрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ, рдЗрд╕ рдЯреВрд▓ рдХреА рдФрд╕рдд рд░реЗрдЯрд┐рдВрдЧ 4,4 рд╕реНрдЯрд╛рд░ рд╣реИред рд╣рдо рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдХрд┐ рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ / рд╕реАрдбреА рд╕рдорд╛рди рд╢рд░реНрддреЛрдВ рдкрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдЬреЗрдирдХрд┐рдВрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ 2011 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ рддрдм рд╕реЗ рдпрд╣ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдХрд╛ рдкрд╕рдВрджреАрджрд╛ рдЙрдкрдХрд░рдг рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрд╕реА рд╕рдордп, 2014 рдореЗрдВ рд╢реБрд░реВ рдХреА рдЧрдИ GitLab CI / CD рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХреА рдЧрдИ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдмрджреМрд▓рдд рдЕрдкрдирд╛ рд╕реНрдерд╛рди рдмрд╣реБрдд рдКрдВрдЪрд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рдЕрдиреНрдп рд╕рдорд╛рди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬреЗрдирдХрд┐рдВрд╕ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдФрд░ рдЬреЗрдирдХрд┐рдВрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдПрдХ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреАред рдЗрд╕рдореЗрдВ 85 рдпреВрдЬрд░реНрд╕ рдиреЗ рд╣рд┐рд╕реНрд╕рд╛ рд▓рд┐рдпрд╛ред рдЙрддреНрддрд░рджрд╛рддрд╛рдУрдВ рдХреЛ рд╕реАрдЖрдИ/рд╕реАрдбреА рдЙрдкрдХрд░рдг рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдкрд╕рдВрдж рдЖрдпрд╛ред 79% рдиреЗ рдЬреЗрдирдХрд┐рдВрд╕ рдХреЛ рдЪреБрдирд╛, 5% рдиреЗ рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдХреЛ рдЪреБрдирд╛, рдФрд░ 16% рдиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ рд╡реЗ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред

рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреА рд▓рдбрд╝рд╛рдИ
╨а╨╡╨╖╤Г╨╗╤М╤В╨░╤В╤Л ╨╛╨┐╤А╨╛╤Б╨░

рдЕрдиреНрдп рд╕реАрдЖрдИ/рд╕реАрдбреА рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ, рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХрд╛ рдЕрдХреНрд╕рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

рдЬреЗрдирдХрд┐рдВрд╕ рдХрд╛ рдкрд░рд┐рдЪрдп

рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреА рд▓рдбрд╝рд╛рдИ
рдЬреЗрдирдХреАрдВрд╕ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз, рд▓рдЪреАрд▓рд╛ рд╕реАрдЖрдИ/рд╕реАрдбреА рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬреЗрдирдХрд┐рдиреНрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг, рдкрд░реАрдХреНрд╖рдг, рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рдПрдХреАрдХрд░рдг рдФрд░ рд╡рд┐рдореЛрдЪрди рд╕реЗ рдЬреБрдбрд╝реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реЗрдЯ рд╣реИред рдЗрд╕ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрдирдореЗрдВ macOS, Windows рдФрд░ рдХрдИ Linux рд╡рд┐рддрд░рдг рдЬреИрд╕реЗ OpenSUSE, Ubuntu рдФрд░ Red Hat рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдЬреЗрдирдХрд┐рдиреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреИрдХреЗрдЬ рд╣реИрдВ, рдпрд╣ рдЯреВрд▓ рдбреЙрдХрд░ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЬреЗрдЖрд░рдИ (рдЬрд╛рд╡рд╛ рд░рдирдЯрд╛рдЗрдо рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ) рд╣реИред

рдЬреЗрдирдХрд┐рдВрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдПрдХ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреЗрдирдХрд┐рдВрд╕ рдПрдХреНрд╕ рдмрдирд╛рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Jenkins X, Helm, Jenkins CI/CD рд╕рд░реНрд╡рд░, Kubernetes рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬреЛ DevOps рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ GitOps рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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

рдЬреЗрдирдХрд┐рдВрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

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

тЦН1. рдореБрдХреНрдд, рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд, рдмрд╣реБ-рдордВрдЪ рд╕рдорд░реНрдерди

Jenkins macOS, Windows рдФрд░ Linux рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдбреЙрдХрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рднреА рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рди рдФрд░ рддреЗрдЬрд╝ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЯреВрд▓ рдЬрд╛рд╡рд╛-рд╕рдХреНрд╖рдо рдХрдВрдЯреЗрдирд░реЛрдВ рдЬреИрд╕реЗ Apache Tomcat рдФрд░ GlassFish рдореЗрдВ рд╕рд░реНрд╡рд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдЧреБрдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЬреЗрдирдХреАрдВрд╕ рдХреА рд╕реНрдерд╛рдкрдирд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ.

тЦН2. рд╡рд┐рдХрд╕рд┐рдд рдкреНрд▓рдЧрдЗрди рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░

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

тЦН3. рдЖрд╕рд╛рди рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк

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

тЦН4. рдорд┐рд▓рдирд╕рд╛рд░ рд╕рдореБрджрд╛рдп

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

тЦН5ред REST API рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛

рдЬреЗрдирдХрд┐рдВрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдк REST API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рджреВрд░рд╕реНрде рдкрд╣реБрдБрдЪ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рддреАрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: XML, JSON JSONP рд╕рдорд░реНрдерди, рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рдеред рдпрд╣рд╛рдВ рдЬреЗрдирдХрд┐рдВрд╕ рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреГрд╖реНрдаред

тЦН6ред рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди

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

тЦН7ред рд╡рд┐рддрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди

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

рдЧрд┐рдЯрд▓реИрдм рдХрд╛ рдкрд░рд┐рдЪрдп

рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреА рд▓рдбрд╝рд╛рдИ
рдЧрд┐рдЯрд▓рдм рд╕реАрдЖрдИ / рд╕реАрдбреА рд╕рдмрд╕реЗ рдирдП рдФрд░ рд╕рдмрд╕реЗ рдкреНрд░рд┐рдп DevOps рдЯреВрд▓ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдлреНрд░реА рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓ GitLab рд╡рд░реНрдЬрди рдХрдВрдЯреНрд░реЛрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред GitLab рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдПрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдпрд╣ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреНрд░рдмрдВрдзрди, рдЯреНрд░реИрдХрд┐рдВрдЧ рдЯреВрд▓ рдЬрд╛рд░реА рдХрд░рдиреЗ, рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рд╕рдВрдЧрдарди, рдкреНрд░рд▓реЗрдЦрди-рдЙрдиреНрдореБрдЦ рддрдВрддреНрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдХрдВрдкрдирд┐рдпрд╛рдВ рд╕реБрд░рдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП GitLab рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ LDAP рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВред

рдпрд╣рд╛рдВ GitLab CI/CD рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реАрдбрд┐рдпреЛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ред

GitLab CI/CD рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди 2015 рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЗрд╕ рд╕реЗрдЯ рдХреЛ GitLab 8.0 рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ GitLab CI / CD рд╕рд░реНрд╡рд░ 25000 рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рдРрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

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

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

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

GitLab CI/CD рдФрд░ GitLab рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

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

тЦН1. рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛

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

тЦН2. GitLab рдкреЗрдЬ рдФрд░ рдЬреЗрдХрд┐рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди

Jekyll рдПрдХ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдЬрдирд░реЗрдЯрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ GitLab рдкреЗрдЬ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рднреАрддрд░ GitLab рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд╕реНрд░реЛрдд рд╕рд╛рдордЧреНрд░реА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рддреИрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдмрдирд╛рддрд╛ рд╣реИред рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдРрд╕реА рд╕рд╛рдЗрдЯреЛрдВ рдХреА рджрд┐рдЦрд╛рд╡рдЯ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ _config.yml, рдЬреЗрдХрд┐рд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

тЦН3. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рдпреЛрдЬрди рдХреНрд╖рдорддрд╛

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

тЦН4. рд╕реАрдЖрдИ рдзрд╛рд╡рдХреЛрдВ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдХреЗрд▓рд┐рдВрдЧ

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

тЦН5ред рдЯреНрд░реИрдХрд┐рдВрдЧ рдЙрдкрдХрд░рдг рдЬрд╛рд░реА рдХрд░реЗрдВ

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

тЦН6ред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛

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

тЦН7. рд╕рдХреНрд░рд┐рдп рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдорд░реНрдерди

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

тЦН8. рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди

GitLab CI / CD рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬреЛ GitLab рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреЛ GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ CI / CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ GitLab CI / CD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ GitLab рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Jenkins рдФрд░ GitLab CI/CD рдХреА рддреБрд▓рдирд╛

Jenkins рдФрд░ GitLab CI/CD рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдЙрдкрдХрд░рдг рд╣реИрдВ, рджреЛрдиреЛрдВ рд╣реА CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реИрдВ, рд╡реЗ рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВред

рд▓рдХреНрд╖рдг рд╡рд░реНрдгрди
рдЬреЗрдирдХреАрдВрд╕
рдЧрд┐рдЯрд▓рдм рд╕реАрдЖрдИ / рд╕реАрдбреА

рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдпрд╛ рдмрдВрдж рд╕реНрд░реЛрдд
рдЦреБрд▓рд╛ рд╕реНрддреНрд░реЛрдд
рдЦреБрд▓рд╛ рд╕реНрддреНрд░реЛрдд

рд╕реНрдерд╛рдкрдирд╛
рдЖрд╡рд╢реНрдпрдХред
рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ GitLab рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред

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

╨Я╨╛╨┤╨┤╨╡╤А╨╢╨║╨░
рдЧрд╛рдпрдм рд╣реИред
рдЙрдкрд▓рдмреНрдзред

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╡рд┐рдиреНрдпрд╛рд╕
рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдкреИрджрд╛ рдирд╣реАрдВ рд╣реЛрддреАрдВ
рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдкреИрджрд╛ рдирд╣реАрдВ рд╣реЛрддреАрдВ

рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрд╡-рддреИрдирд╛рддреА
рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред
рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред

рд╕реАрдЖрдИ/рд╕реАрдбреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдирд╛
рд╕рдорд░реНрдерд┐рдд, рдЬреЗрдирдХреАрдВрд╕ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред

рдЖрд╡реЗрджрди рдкреНрд░рджрд░реНрд╢рди рдХреА рдирд┐рдЧрд░рд╛рдиреА
рдЧрд╛рдпрдм рд╣реИред
рдЙрдкрд▓рдмреНрдзред

рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░
1000 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВред
рд╕рд┐рд╕реНрдЯрдо рдХреЛ GitLab рдХреЗ рднреАрддрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

API
рдПрдХ рдЙрдиреНрдирдд рдПрдкреАрдЖрдИ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЧрд╣рди рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди
рдЙрдкрд▓рдмреНрдзред
рдЙрдкрд▓рдмреНрдзред

рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг
рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╕рдорд░реНрдерд┐рдд рд╣реИ (рд╕реНрд▓реИрдХ, рдЧрд┐рдЯрд╣рдм)ред
рддреГрддреАрдп-рдкрдХреНрд╖ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдкрдХрд░рдг, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ - GitHub рдФрд░ Kubernetes рдХреЗ рд╕рд╛рдеред

рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг
рд╕рдорд░реНрдерд┐рдд - рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рдкреНрд▓рдЧрдЗрди рдФрд░ рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред

рдЬреЗрдирдХреАрдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреЗ рдмреАрдЪ рдЕрдВрддрд░

Jenkins рдФрд░ GitLab CI/CD рдХрд╛ рд╡рд░реНрдгрди рдФрд░ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рдЗрди DevOps рдЯреВрд▓ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЗрди рдЕрдВрддрд░реЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдЬреЛ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдЙрдкрдХрд░рдг рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред

  • GitLab CI / CD Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╢рд╛рдЦрд╛рдУрдВ рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЬреЗрдирдХрд┐рдВрд╕, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрди рдкрд░ GitLab CI / CD рдХреЗ рд╕рдорд╛рди рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
  • рдЬреЗрдирдХрд┐рдВрд╕ рдПрдХ рдлреНрд░реА рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред рдЬреЛ рдЗрд╕реЗ рдЪреБрдирддрд╛ рд╣реИ рд╡рд╣ рдЗрд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ GitLab CI / CD рдХреЛ GitLab рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдЯрд░реНрдирдХреА рд╕рдорд╛рдзрд╛рди рд╣реИред
  • GitLab CI / CD рдЙрдиреНрдирдд рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЬреЗрдирдХрд┐рдВрд╕ рдХрд╛ рдпрд╣ рдкрдХреНрд╖ рдХрдо рд╡рд┐рдХрд╕рд┐рдд рд╣реИред

рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ / рд╕реАрдбреА: рддрд╛рдХрдд рдФрд░ рдХрдордЬреЛрд░рд┐рдпрд╛рдВ

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

рдЬреЗрдирдХреАрдВрд╕ рдХреА рддрд╛рдХрдд

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

рдЬреЗрдирдХреАрдВрд╕ рдХреА рдХрдордЬреЛрд░рд┐рдпрд╛рдВ

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

тЦН GitLab CI/CD рдХреА рддрд╛рдХрдд

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

тЦН GitLab CI/CD рдХреА рдХрдордЬреЛрд░рд┐рдпрд╛рдБ

  • рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдФрд░ рдЕрдкрд▓реЛрдб/рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд▓рдп рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рд╡рд┐рд▓рдп рд╡рд╛рд▓реА рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • CI / CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп, рдЙрдирдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░рдгреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

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

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

CI / CD рд╕рд┐рд╕реНрдЯрдо рдЪреБрдирддреЗ рд╕рдордп, рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЙрди рд▓рд╛рдЧрддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ DevOps рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдк рдХрд┐рд╕ рд╕реАрдЖрдИ/рд╕реАрдбреА рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреА рд▓рдбрд╝рд╛рдИ

рдЬреЗрдирдХрд┐рдВрд╕ рдФрд░ рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреА рд▓рдбрд╝рд╛рдИ

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ