рдкрдЫрд┐рд▓реНрд▓реЛ рджрд╢рдХрдорд╛, рдирд┐рд░рдиреНрддрд░ рдПрдХреАрдХрд░рдг (рдирд┐рд░рдиреНрддрд░ рдПрдХреАрдХрд░рдг, CI) рд░ рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА (рдирд┐рд░рдиреНрддрд░ рдбреЗрд▓рд┐рднрд░реА, рд╕реАрдбреА) рдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕рдорд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдЧрддрд┐рд╣рд░реВ рднрдПрдХрд╛ рдЫрдиреНред рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рд░ рд╕рдЮреНрдЪрд╛рд▓рди (рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдпрд╣рд░реВ, DevOps) рдПрдХреАрдХреГрдд рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕рд▓реЗ CI / CD рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдорд╛рдЧрдорд╛ рджреНрд░реБрдд рд╡реГрджреНрдзрд┐ рднрдПрдХреЛ рдЫред рдЕрд╡рд╕реНрдерд┐рдд рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдирд┐рд░рдиреНрддрд░ рд╕реБрдзрд╛рд░ рднрдЗрд░рд╣реЗрдХреЛ рдЫ, рд╕рдордпрдХреЛ рд╕рд╛рде рд░рд╛рдЦреНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИ, рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдЬрд╛рд░реА рд╣реБрдиреНрдЫрдиреН, рдЧреБрдгрд╕реНрддрд░ рдЖрд╢реНрд╡рд╛рд╕рди рд╕рдлреНрдЯрд╡реЗрдпрд░ (рдЧреБрдгрд╡рддреНрддрд╛ рдЖрд╢реНрд╡рд╛рд╕рди, QA) рдХреЛ рд╕рдВрд╕рд╛рд░рдорд╛, рдзреЗрд░реИ рдирдпрд╛рдБ рдЙрддреНрдкрд╛рджрдирд╣рд░реВ рд▓рдЧрд╛рддрд╛рд░ рджреЗрдЦрд╛ рдкрд░реНрдЫрдиреНред рдЫрдиреЛрдЯрдХреЛ рдпрд╕реНрддреЛ рдзрдирдХреЛ рд╕рд╛рде, рд╕рд╣реА рдЙрдкрдХрд░рдг рдЫрдиреМрдЯ рдЧрд░реНрдиреБ рд╕рдЬрд┐рд▓реЛ рдХрд╛рдо рд╣реЛрдЗрдиред
рд╕рдмреИ рдЕрд╡рд╕реНрдерд┐рдд CI / CD рдЙрдкрдХрд░рдгрд╣рд░реВ рдордзреНрдпреЗ, рддреНрдпрд╣рд╛рдБ рджреБрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдЫрдиреН рдЬреБрди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдпрд╕ рдХреНрд╖реЗрддреНрд░рдмрд╛рдЯ рдХреЗрд╣рд┐ рдЦреЛрдЬреНрдиреЗ рд╡реНрдпрдХреНрддрд┐рд▓рд╛рдИ рдзреНрдпрд╛рди рджрд┐рди рд▓рд╛рдпрдХ рдЫрдиреНред рд╣рд╛рдореА рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI / CD рдЙрдкрдХрд░рдгрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИрдЫреМрдВ, рдЬреБрди GitLab рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рдЕрдВрд╢ рд╣реЛред рдЬреЗрдиреНрдХрд┐рдиреНрд╕рд╕рдБрдЧ рдмрдвреА рдЫ
рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, G2 рдкреНрд▓реЗрдЯрдлрд░реНрдордмрд╛рдЯ рдбреЗрдЯрд╛ рд▓рд┐рдиреБрд╣реЛрд╕реН, рдЬрд╕рд▓реЗ рдЙрддреНрдкрд╛рджрдирд╣рд░реВрдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд┐рдзрддрд╛ рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рджрд┐рдиреЗ рдореВрд▓реНрдпрд╛рдЩреНрдХрдирд╣рд░реВ рдЬрдореНрдорд╛ рдЧрд░реНрдЫред рдпрд╣рд╛рдБ рдФрд╕рдд рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЫ
рдпрджрд┐ рд╣рд╛рдореА рдЕрдиреНрдп рд╕рдорд╛рди рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рддреБрд▓рдирд╛рдорд╛ рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдЫреМрдВ рднрдиреЗ, рд╣рд╛рдореАрд▓реЗ рдпрд╛рдж рдЧрд░реНрдЫреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдЯреНрд░рд╛рднрд┐рд╕ рд╕реАрдЖрдИ рд░ рдЬреЗрдирдХрд┐рдиреНрд╕ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рддреБрд▓рдирд╛ рдЧрд░реНрдиреЗ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реЗрдХрд╛ рдЫреМрдВ, рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛ рдЧрд░реЗрдХрд╛ рдЫреМрдВред 85 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдпрд╕рдорд╛ рднрд╛рдЧ рд▓рд┐рдПред рдЙрддреНрддрд░рджрд╛рддрд╛рд╣рд░реВрд▓рд╛рдИ рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рд╕рдмреИрднрдиреНрджрд╛ рдордирдкрд░реНрдиреЗ CI/CD рдЙрдкрдХрд░рдг рдЫрдиреЛрдЯ рдЧрд░реНрди рднрдирд┐рдпреЛред 79% рд▓реЗ рдЬреЗрдирдХрд┐рдиреНрд╕ рд░реЛрдЬреЗ, 5% рд▓реЗ рдЯреНрд░рд╛рднрд┐рд╕ рд╕реАрдЖрдИ рдЫрдиреЛрдЯ рдЧрд░реЗ, рд░ 16% рд▓реЗ рд╕рдВрдХреЗрдд рдЧрд░реЗ рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рдЕрдиреНрдп рдЙрдкрдХрд░рдгрд╣рд░реВ рд░реБрдЪрд╛рдЙрдБрдЫрдиреНред
рдорддрджрд╛рди рдкрд░рд┐рдгрд╛рдорд╣рд░реВ
рдЕрдиреНрдп CI/CD рдЙрдкрдХрд░рдгрд╣рд░реВ рдордзреНрдпреЗ, GitLab CI/CD рдкреНрд░рд╛рдпрдГ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред
рдпрджрд┐ рддрдкрд╛рдИрдВ DevOps рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЧрдореНрднреАрд░ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╡рд┐рд╡рд░рдг, рдпрд╕рдХреЛ рдмрдЬреЗрдЯ рд░ рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрд░ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдХрд░рдгрд╣рд░реВ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЪрдпрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддрдкрд╛рдИрд▓рд╛рдИ рд╕рд╣реА рдЫрдиреЛрдЯ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрди, рд╣рд╛рдореА рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдЧрд░реНрди рдЬрд╛рдБрджреИрдЫреМрдВред рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рд╣реА рдЫрдиреМрдЯ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫред
рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рдкрд░рд┐рдЪрдп
рдЬреЗрдирдХрд┐рдиреНрд╕ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдЕрд░реНрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЬреЗрдирдХрд┐рдиреНрд╕ рдПрдХреНрд╕ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдХрд╛ рдЫрдиреН, рдЬреБрди рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдХрд╛рдо рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред Jenkins X рд▓реЗ рд╣реЗрд▓реНрдо, рдЬреЗрдирдХрд┐рдиреНрд╕ CI/CD рд╕рд░реНрднрд░, Kubernetes, рд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгрд╣рд░реВ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдПрдХреАрдХреГрдд рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ DevOps рдЙрддреНрдХреГрд╖реНрдЯ рдЕрднреНрдпрд╛рд╕рд╣рд░реВ рдкрдЫреНрдпрд╛рдЙрдБрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, GitOps рдпрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
рдПрдХрд▓реЗ рдЬреЗрдиреНрдХрд┐рдиреНрд╕рдХрд╛ рдлрд╛рдЗрджрд╛рд╣рд░реВрдХреЛ рдЦрдЬрд╛рдирд╛рдорд╛ рдердкреНрди рд╕рдХреНрдЫ рдХрд┐ рдпрд╕рдХрд╛ рд▓рд┐рдкрд┐рд╣рд░реВ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд╕рдВрд░рдЪрд┐рдд, рдмреБрдЭреНрди рдпреЛрдЧреНрдп рд░ рдкрдвреНрди рд╕рдЬрд┐рд▓реЛ рдЫред рдЬреЗрдирдХрд┐рдиреНрд╕ рдЯреЛрд▓реАрд▓реЗ рд▓рдЧрднрдЧ 1000 рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдХреЛ рдЫ рдЬреБрди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВрд╕рдБрдЧ рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓реЗ рд╣реЛред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрд▓реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН, рдЬрд╕рд▓реЗ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдмрдиреНрдж рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рдЬреЗрдиреНрдХрд┐рдиреНрд╕ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдХреНрд░рдордорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдгрдорд╛ рдХреЗ рд╣реБрдиреНрдЫ, рдХрд╛рдордХрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдЪрд░рдгрд╣рд░реВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдореНрдкрдиреНрди рднрдПрдХрд╛ рдЫрдиреН рд╡рд╛ рдЫреИрдирдиреН рднрдиреА рдЕрд╡рд▓реЛрдХрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрд▓реЗ рдпреЛ рд╕рдмреИ рд╣реЗрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрдерд╛рдкрд┐, рдХреБрдиреИ рдирд┐рд╢реНрдЪрд┐рдд рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рдпреЛрдЧ рдирдЧрд░реА, рддрд░ рдЯрд░реНрдорд┐рдирд▓рдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ред
рдЬреЗрдирдХрд┐рдиреНрд╕рдХрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ
рдЬреЗрдиреНрдХрд┐рдиреНрд╕рдХрд╛ рдкреНрд░рдЦреНрдпрд╛рдд рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдордзреНрдпреЗ рд╕реЗрдЯрдЕрдкрдХреЛ рд╕рд╣рдЬрддрд╛, рд╡рд┐рднрд┐рдиреНрди рдЕрдкрд░реЗрд╢рдирд╣рд░реВрдХреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди, рд░ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдЫрдиреНред рдпрджрд┐ рд╣рд╛рдореА DevOps рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрдЫреМрдВ, рддреНрдпрд╕рдкрдЫрд┐ рдпрд╣рд╛рдБ рдЬреЗрдирдХрд┐рдиреНрд╕рд▓рд╛рдИ рдзреЗрд░реИ рднрд░рдкрд░реНрджреЛ рдЙрдкрдХрд░рдг рдорд╛рдирд┐рдиреНрдЫ, рдЬрд╕рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рдПрдХ рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, рдпрд╕рд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд╢реЛрдзрдирдХреЛ рд╕рдореНрдкреВрд░реНрдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдирдЬрд┐рдХрдмрд╛рдЯ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рдХреБрдиреИ рдЕрд░реНрде рд░рд╛рдЦреНрджреИрдиред рдпреЛ рдЕрдиреНрдп CI/CD рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдорд╛рдорд▓рд╛ рд╣реЛрдЗрдиред рдЬреЗрдиреНрдХрд┐рдиреНрд╕рдХрд╛ рдХреЗрд╣реА рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВрдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реМрдВред
тЦНрезред рдирд┐: рд╢реБрд▓реНрдХ, рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд, рдмрд╣реБ-рдкреНрд▓реЗрдЯрдлрд░реНрдо рд╕рдорд░реНрдерди
рдЬреЗрдирдХрд┐рдиреНрд╕ macOS, Windows рд░ Linux рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдорд╛ рдЪрд▓реНрди рд╕рдХреНрдЫрдиреНред рдпрд╕рд▓реЗ рдбрдХрд░ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдкрдирд┐ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдПрдХрд╕рдорд╛рди рд░ рджреНрд░реБрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпреЛ рдЙрдкрдХрд░рдг Apache Tomcat рд░ GlassFish рдЬрд╕реНрддрд╛ Java-рд╕рдХреНрд╖рдо рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рд╕рд░реНрд▓реЗрдЯрдХреЛ рд░реВрдкрдорд╛ рдкрдирд┐ рдЪрд▓реНрди рд╕рдХреНрдЫред рдЧреБрдгрд╛рддреНрдордХ рд░реВрдкрдорд╛ рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рд╕реНрдерд╛рдкрдирд╛
тЦНреиред рд╡рд┐рдХрд╕рд┐рдд рдкреНрд▓рдЧрдЗрди рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо
рдЬреЗрдиреНрдХрд┐рдиреНрд╕ рдкреНрд▓рдЧрдЗрди рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдЕрдиреНрдп CI/CD рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдкреНрд▓рдЧрдЗрди рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рднрдиреНрджрд╛ рдзреЗрд░реИ рдкрд░рд┐рдкрдХреНрд╡ рджреЗрдЦрд┐рдиреНрдЫред рдЬреЗрдирдХрд┐рдиреНрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд╣рд╛рд▓ 1500 рднрдиреНрджрд╛ рдмрдвреА рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдЫрдиреНред рдпреА рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╡рд┐рд╕реНрддреГрдд рджрд╛рдпрд░рд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рдЫрдиреН, рддрд┐рдиреАрд╣рд░реВрдХреЛ рдорджреНрджрддрд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдирд┐: рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд╕рдореНрдкрддреНрддрд┐ рдЫрдиреМрдЯ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рд╣реЛ рдХрд┐ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЬреЗрдирдХрд┐рдиреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБрд▓реЗ рдорд╣рдБрдЧреЛ рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдХрд┐рдиреНрдиреБ рдкрд░реНрджреИрдиред рд╕рдореНрднрд╛рд╡рдирд╛ рдЫ
тЦНрейред рд╕рдЬрд┐рд▓реЛ рд╕реНрдерд╛рдкрдирд╛ рд░ рд╕реЗрдЯрдЕрдк
Jenkins рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдПрдХрджрдо рд╕рдЬрд┐рд▓реЛ рдЫред рдПрдХреИ рд╕рдордпрдорд╛, рдкреНрд░рдгрд╛рд▓реА рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрдирд┐ рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫред рдпрд╣рд╛рдБ, рдлреЗрд░рд┐, рдпреЛ рдХрд╛рдЧрдЬрд╛рддрдХреЛ рдЧреБрдгрд╕реНрддрд░ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ, рдХрд┐рдирдХрд┐ рдпрд╕рдорд╛ рддрдкрд╛рдИрд▓реЗ рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдореНрдмрдиреНрдзрд┐рдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдЬрд╡рд╛рдл рдкрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
тЦНрекред рдореИрддреНрд░реА рд╕рдореБрджрд╛рдп
рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдЭреИрдВ, рдЬреЗрдирдХрд┐рдиреНрд╕ рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛ, рдЬрд╕рдХреЛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдорд▓реЗ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдореБрджрд╛рдпрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрди рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рд╡рд░рд┐рдкрд░рд┐ рд╡рд┐рдХрд╛рд╕ рдЧрд░реЗрдХреЛ рдЫред рд╕рдореБрджрд╛рдп рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдбреНрд░рд╛рдЗрдн рдЧрд░реНрдиреЗ рдХрд╛рд░рдХрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛред
тЦНрелред REST API рдХреЛ рдЙрдкрд▓рдмреНрдзрддрд╛
рдЬреЗрдирдХрд┐рдиреНрд╕рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛, рддрдкрд╛рдЗрдБ REST API рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬрд╕рд▓реЗ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрджрдЫред рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд░рд┐рдореЛрдЯ рдкрд╣реБрдБрдЪрдХрд╛ рд▓рд╛рдЧрд┐ API рддреАрди рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫ: XML, JSONP рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде JSON, рдкрд╛рдЗрдердиред
тЦН6ред рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди
рдЬреЗрдирдХрд┐рдиреНрд╕рд▓реЗ DevOps рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рдпрд╕рд▓рд╛рдИ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рд╕рдЬрд┐рд▓реИрд╕рдБрдЧ рдПрдХреАрдХреГрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдирддрд┐рдЬрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реВрдЪрдирд╛рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рд╡рд┐рднрд┐рдиреНрди рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдирд┐рд░реНрдорд╛рдгрд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реЗрд░ рдХреЛрдб рдкрд░реАрдХреНрд╖рдгрд▓рд╛рдИ рддреАрд╡реНрд░ рдмрдирд╛рдЙрди рд╕рдХрд┐рдиреНрдЫред
тЦН7ред рд╡рд┐рддрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди
рдЬреЗрдирдХрд┐рдиреНрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдзреЗрд░реИ рдХрдореНрдкреНрдпреБрдЯрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд┐рддрд░рд┐рдд рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпреЛ рд╕реБрд╡рд┐рдзрд╛ рдареВрд▓рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫ рд░ рдХрд╛рдордХреЛ рдпреЛрдЬрдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╕ рдЕрдиреБрд╕рд╛рд░ рддреНрдпрд╣рд╛рдБ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕рд░реНрднрд░ рд░ рдзреЗрд░реИ рджрд╛рд╕ рдореЗрд╕рд┐рдирд╣рд░реВ рдЫрдиреНред рджрд╛рд╕ рдореЗрд╕рд┐рдирд╣рд░реВ рдкрдирд┐ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЬрд╣рд╛рдБ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдкрд░реАрдХреНрд╖рдг рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпреА рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрд▓реЗ рдЬреЗрдирдХрд┐рдиреНрд╕рд▓рд╛рдИ рдЕрдиреНрдп рд╕рдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдмрд╛рдЯ рдЕрд▓рдЧ рд░рд╛рдЦреНрдпреЛред
GitLab рдХреЛ рдкрд░рд┐рдЪрдп
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 рдПрдХреАрдХреГрдд рдЫред
тЦНрезред рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛
GitLab CI/CD рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдпрд╛рдБ рдЙрдкрдХрд░рдг рд╣реЛ рдЬрд╕рд▓реЗ рд╡реНрдпрд╛рдкрдХ рдкреНрд░рдпреЛрдЧ рдкрд╛рдПрдХреЛ рдЫред GitLab CI/CD рдмрд┐рд╕реНрддрд╛рд░реИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рд░ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп CI/CD рдЙрдкрдХрд░рдг рднрдПрдХреЛ рдЫред рдпрд╕рдХреЛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рд░рд▓ рдЫред рдпреЛ GitLab рдкреНрд▓реЗрдЯрдлрд░реНрдордорд╛ рдирд┐рд░реНрдорд┐рдд рдирд┐:рд╢реБрд▓реНрдХ CI/CD рдЙрдкрдХрд░рдг рдкрдирд┐ рд╣реЛред
тЦНреиред GitLab рдкреГрд╖реНрдард╣рд░реВ рд░ Jekyll рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди
Jekyll рдПрдХ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдЬрдирд░реЗрдЯрд░ рд╣реЛ рдЬреБрди GitLab рдкреГрд╖реНрдард╣рд░реВ рдкреНрд░рдгрд╛рд▓реА рднрд┐рддреНрд░ GitLab рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдЗрдЯрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рд╕реНрд░реЛрдд рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рд▓рд┐рдиреНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд░реЗрдбрд┐рдореЗрдб рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрдЫред рддрдкрд╛рдИрдВрд▓реЗ рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реЗрд░ рддреНрдпрд╕реНрддрд╛ рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рд░ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ _config.yml
, Jekyll рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛред
тЦНрейред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпреЛрдЬрдирд╛ рдХреНрд╖рдорддрд╛рд╣рд░реВ
рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рдЪрд░рдгрд╣рд░реВ рдпреЛрдЬрдирд╛ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж, рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рд╕рдореВрд╣рд╣рд░реВрдХреЛ рд╕реБрд╡рд┐рдзрд╛ рдмрдвреНрдЫред рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдХрд╛рдордХреЛ рд╕рдВрдЧрдарди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд┐рддрд┐рдорд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЬрдирд╛ред
тЦНрекред рд╕реАрдЖрдИ рдзрд╛рд╡рдХрд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдХреЗрд▓рд┐рдВрдЧ
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрди рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдзрд╛рд╡рдХрд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдХреЗрд▓рд┐рдВрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж, рддрдкрд╛рдИрдВрд▓реЗ рд╕рд░реНрднрд░ рдХреНрд╖рдорддрд╛рд╣рд░реВ рднрд╛рдбрд╛рдорд╛ рд▓рд┐рдиреЗ рд▓рд╛рдЧрддрдорд╛ рдзреЗрд░реИ рдмрдЪрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдзреЗрд░реИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЬрдм рдпреЛ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЖрдЙрдБрджрдЫ рдЬрд╣рд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рд╕рдорд╛рдирд╛рдиреНрддрд░рдорд╛ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдиреНрдЫред рдердк рд░реВрдкрдорд╛, рдпреЛ рдзреЗрд░реИ рднрдгреНрдбрд╛рд░рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдареВрд▓рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред
тЦНрелред рдореБрджреНрджрд╛ рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рдЙрдкрдХрд░рдг
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 рдХреЛ рдЖрдзрд╛рд░рдорд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рддреБрд▓рдирд╛
Jenkins рд░ GitLab CI/CD рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдЫрдиреН, рддреА рджреБрдмреИ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд▓рд╛рдИ рд╕рд╣рдЬ рд░реВрдкрдорд╛ рдЪрд▓рд╛рдЙрди рд╕рдХреНрд╖рдо рдЫрдиреНред рддрд░ рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рддреБрд▓рдирд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ, рдпрджреНрдпрдкрд┐ рддрд┐рдиреАрд╣рд░реВ рдзреЗрд░реИ рддрд░рд┐рдХрд╛рдорд╛ рд╕рдорд╛рди рдЫрдиреН, рддрд┐рдиреАрд╣рд░реВ рдХреЗрд╣реА рддрд░рд┐рдХрд╛рдорд╛ рдПрдХрдЕрд░реНрдХрд╛рдмрд╛рдЯ рднрд┐рдиреНрди рдЫрдиреНред
╨е╨░╤А╨░╨║╤В╨╡╤А╨╕╤Б╤В╨╕╨║╨░
рдЬреЗрдирдХрд┐рдиреНрд╕
GitLab CI/CD
рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╡рд╛ рдмрдиреНрдж рд╕реНрд░реЛрдд
рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд
рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд
рд╕реЗрдЯрд┐рдЩ
рдЖрд╡рд╢реНрдпрдХ рдЫред
рдЖрд╡рд╢реНрдпрдХ рдЫреИрди рдХрд┐рдирдХрд┐ рдпреЛ GitLab рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рдмрд┐рд▓реНрдЯ-рдЗрди рд╕реБрд╡рд┐рдзрд╛ рд╣реЛред
рдЕрджреНрд╡рд┐рддреАрдп рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ
рдкреНрд▓рдЧрдЗрди рд╕рдорд░реНрдердиред
рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЧрд╣рд┐рд░реЛ рдПрдХреАрдХрд░рдгред
рд╕рдорд░реНрдерди
рд╣рд░рд╛рдЗрд░рд╣реЗрдХреЛ рдЫред
рдЙрдкрд▓рдмреНрдз рдЫред
рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди
рдХрдард┐рдирд╛рдЗрд╣рд░реВ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрджреИрдирдиреН
рдХрдард┐рдирд╛рдЗрд╣рд░реВ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрджреИрдирдиреН
рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдЖрддреНрдо-рдирд┐рдпреЛрдЬрди
рдпреЛ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдПрдХ рдорд╛рддреНрд░ рддрд░рд┐рдХрд╛ рд╣реЛред
рд╕рдорд░реНрдерд┐рддред
CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ
рдЬреЗрдирдХрд┐рдиреНрд╕ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реА рд╕рдорд░реНрдерд┐рддред
рд╕рдорд░реНрдерд┐рддред
рдЖрд╡реЗрджрди рдкреНрд░рджрд░реНрд╢рди рдирд┐рдЧрд░рд╛рдиреА
рд╣рд░рд╛рдЗрд░рд╣реЗрдХреЛ рдЫред
рдЙрдкрд▓рдмреНрдз рдЫред
рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо
рддреНрдпрд╣рд╛рдБ 1000 рднрдиреНрджрд╛ рдмрдвреА рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдЫрдиреНред
рдкреНрд░рдгрд╛рд▓реА GitLab рднрд┐рддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рднрдЗрд░рд╣реЗрдХреЛ рдЫред
рдПрдкреАрдЖрдИ
рдПрдХ рдЙрдиреНрдирдд API рдкреНрд░рдгрд╛рд▓реА рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред
рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдЧрд╣рд┐рд░реЛ рдПрдХреАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ API рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди
рдЙрдкрд▓рдмреНрдз рдЫред
рдЙрдкрд▓рдмреНрдз рдЫред
рдЕрдиреНрдп рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдПрдХреАрдХрд░рдг
рдЕрдиреНрдп рдЙрдкрдХрд░рдг рд░ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрд╕рдБрдЧ рдПрдХреАрдХрд░рдг рд╕рдорд░реНрдерд┐рдд рдЫ (Slack, GitHub)ред
рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдПрдХреАрдХрд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдЙрдкрдХрд░рдгрд╣рд░реВ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА - GitHub рд░ Kubernetes рд╕рдБрдЧред
рдХреЛрдб рдЧреБрдгрд╕реНрддрд░ рдирд┐рдпрдиреНрддреНрд░рдг
рд╕рдорд░реНрдерд┐рдд - SonarQube рдкреНрд▓рдЧрдЗрди рд░ рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ред
рд╕рдорд░реНрдерд┐рддред
рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛
рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рд╡рд░реНрдгрди рд░ рддреБрд▓рдирд╛ рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рдпреА DevOps рдЙрдкрдХрд░рдгрд╣рд░реВ рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛рд╣рд░реВрдорд╛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реМрдВред рдпреА рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рдЬрд╛рдиреНрдирд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпреА рдЙрдкрдХрд░рдгрд╣рд░реВ рдордзреНрдпреЗ рдПрдЙрдЯрд╛рд▓рд╛рдИ рдЕрд░реНрдХреЛрдорд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджрд┐рдиреЗрд╣рд░реВрд▓рд╛рдИ рдмреБрдЭреНрди рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫред
- GitLab CI/CD рд▓реЗ Git рднрдгреНрдбрд╛рд░рд╣рд░реВ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рд╕рдХреНрдЫред рд╣рд╛рдореА рднрдгреНрдбрд╛рд░ рд╢рд╛рдЦрд╛рд╣рд░реВ рд░ рдХреЗрд╣реА рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИрдЫреМрдВред рддрд░ рдЬреЗрдирдХрд┐рдиреНрд╕, рдпрджреНрдпрдкрд┐ рдпрд╕рд▓реЗ рднрдгреНрдбрд╛рд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫ, GitLab CI / CD рдХреЛ рд░реВрдкрдорд╛ рддрд┐рдиреАрд╣рд░реВрдорд╛рдерд┐ рдирд┐рдпрдиреНрддреНрд░рдгрдХреЛ рд╕рдорд╛рди рд╕реНрддрд░ рджрд┐рдБрджреИрдиред
- рдЬреЗрдирдХрд┐рдиреНрд╕ рдПрдХ рдирд┐:рд╢реБрд▓реНрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛред рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рд░реЛрдЬреНрдЫ рдЙрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рд░ GitLab CI / CD GitLab рдкреНрд▓реЗрдЯрдлрд░реНрдордорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдпреЛ рдЯрд░реНрдирдХреА рд╕рдорд╛рдзрд╛рди рд╣реЛред
- GitLab CI/CD рд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрддрд░рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЙрдиреНрдирдд рдХрд╛рд░реНрдп рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЙрдкрдХрд░рдгрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рдпреЛ рдкрдХреНрд╖ рдХрдо рд╡рд┐рдХрд╕рд┐рдд рдЫред
рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD: рд╢рдХреНрддрд┐ рд░ рдХрдордЬреЛрд░реАрд╣рд░реВ
рдЕрдм рддрдкрд╛рдИрд╕рдБрдЧ рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗрд╣реА рд╡рд┐рдЪрд╛рд░ рдЫред рдЕрдм, рддрдкрд╛рдИрд▓рд╛рдИ рдпреА рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдЕрдЭ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рдЧрд░рд╛рдЙрди, рддрд┐рдиреАрд╣рд░реВрдХреЛ рдмрд▓ рд░ рдХрдордЬреЛрд░реАрд╣рд░реВ рд╣реЗрд░реМрдВред рд╣рд╛рдореА рдорд╛рдиреНрджрдЫреМрдВ рдХрд┐ рддрдкрд╛рдИрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫ рдХрд┐ рддрдкрд╛рдИрд▓рд╛рдИ рдХреБрди рдЙрдкрдХрд░рдг рдЪрд╛рд╣рд┐рдиреНрдЫред рдЖрд╢рд╛ рдЫ, рдпреЛ рдЦрдгреНрдбрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрдлреИрд▓рд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫред
тЦН рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рд╢рдХреНрддрд┐
- рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ред
- рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрдирд╛ рдорд╛ рдкреВрд░реНрдг рдирд┐рдпрдиреНрддреНрд░рдгред
- рдзрд╛рд╡рдХрд╣рд░реВрдХреЛ рд╕рд░рд▓ рдбрд┐рдмрдЧрд┐рдЩред
- рд╕рдЬрд┐рд▓реЛ рдиреЛрдб рд╕реЗрдЯрдЕрдкред
- рд╕рдЬрд┐рд▓реЛ рдХреЛрдб рдкрд░рд┐рдирд┐рдпреЛрдЬрдиред
- рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдкреНрд░рдорд╛рдг рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рдгрд╛рд▓реАред
- рд▓рдЪрд┐рд▓реЛрдкрди рд░ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ред
- рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердиред
- рдкреНрд░рдгрд╛рд▓реА рдПрдХ рд╕рд╣рдЬ рд╕реНрддрд░ рдорд╛ рдмреБрдЭреНрди рдпреЛрдЧреНрдп рдЫред
тЦН рдЬреЗрдирдХрд┐рдиреНрд╕рдХрд╛ рдХрдордЬреЛрд░реАрд╣рд░реВ
- рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрди рд╕рдХреНрдЫред
- рд╕рд╛рдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдЬреЗрдирдХрд┐рдиреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рдпрд╕рд▓рд╛рдИ рдЖрдлреИрдВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдЕрдиреБрдЪрд┐рдд рд░реВрдкрдорд╛ рдареВрд▓реЛ рд╣реБрди рд╕рдХреНрдЫред
- CI/CD рдЪреЗрдирд╣рд░реВрдорд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рдЕрднрд╛рд╡ред
тЦН GitLab CI/CD рдХреЛ рд╢рдХреНрддрд┐рд╣рд░реВ
- Docker рд╕рдВрдЧ рд░рд╛рдореНрд░реЛ рдПрдХреАрдХрд░рдгред
- рдзрд╛рд╡рдХрд╣рд░реВрдХреЛ рд╕рд░рд▓ рд╕реНрдХреЗрд▓рд┐рдВрдЧред
- CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдХреЛ рдЪрд░рдгрд╣рд░реВрдХреЛ рднрд╛рдЧ рднрдПрдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
- рдЯрд╛рд╕реНрдХ рд╕рдореНрдмрдиреНрдзрд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЧрд░реНрджрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдПрд╕рд╛рдЗрдХреНрд▓рд┐рдХ рдЧреНрд░рд╛рдл рдореЛрдбреЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред
- рдзрд╛рд╡рдХрд╣рд░реВрдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рдореНрднрд╛рд╡рдирд╛рдХреЛ рдХрд╛рд░рдг рдЙрдЪреНрдЪ рд╕реНрддрд░рдХреЛ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреАред
- рдХрд╛рд░реНрдпрд╣рд░реВ рдердкреНрди рд╕рдЬрд┐рд▓реЛред
- рд╕рд░рд▓ рд╡рд┐рд╡рд╛рдж рд╕рдорд╛рдзрд╛рдиред
- рднрд░рдкрд░реНрджреЛ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдгрд╛рд▓реАред
тЦН GitLab CI/CD рдХреЛ рдХрдордЬреЛрд░реАрд╣рд░реВ
- рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдХрд▓рд╛рдХреГрддрд┐рд╣рд░реВ рд╡рд░реНрдгрди рд░ рдЕрдкрд▓реЛрдб / рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
- рддрдкрд╛рдИрд▓реЗ рд╢рд╛рдЦрд╛рд╣рд░реВ рдорд░реНрдЬ рдЧрд░реНрдиреБ рдЕрдШрд┐ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдорд╣рд░реВрдХреЛ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдиред
- CI / CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдХрд╛ рдЪрд░рдгрд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрджрд╛, рддрд┐рдиреАрд╣рд░реВрдорд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЪрд░рдгрд╣рд░реВ рдПрдХрд▓ рдЧрд░реНрди рдЕрдЭреИ рд╕рдореНрднрд╡ рдЫреИрдиред
рдкрд░рд┐рдгрд╛рдорд╣рд░реВ
Jenkins рд░ GitLab CI/CD рджреБрдмреИрдорд╛ рдмрд▓ рд░ рдХрдордЬреЛрд░реАрд╣рд░реВ рдЫрдиреНред рдХреЗ рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ рдкреНрд░рд╢реНрдирдХреЛ рдЬрд╡рд╛рдл рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред рдЖрдЬ рд╕рдореАрдХреНрд╖рд╛ рдЧрд░рд┐рдПрдХрд╛ рдкреНрд░рддреНрдпреЗрдХ CI/CD рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЫрдиреН, рдпрджреНрдпрдкрд┐ рдпреА рдЙрдкрдХрд░рдгрд╣рд░реВ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХрд╛ рдерд┐рдПред рдПрдХреИ рд╕рдордпрдорд╛, рдЬреЗрдирдХрд┐рдиреНрд╕ рдПрдХ рд╕реНрдЯреНрдпрд╛рдиреНрдбрдЕрд▓реЛрди рдЙрдкрдХрд░рдг рд╣реЛ, рд░ GitLab CI / CD рдХреЛрдбрдорд╛ рд╕рд╣рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рдЕрдВрд╢ рд╣реЛред
CI / CD рдкреНрд░рдгрд╛рд▓реА рдЫрдиреЛрдЯ рдЧрд░реНрджрд╛, рдпрд╕рдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВрдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпреЛрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╣реБрди рд╕рдХреНрдиреЗ рд▓рд╛рдЧрддрд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрди рд▓рд╛рдпрдХ рдЫ, рд░ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХреБрди DevOps рдИрдиреНрдЬрд┐рдирд┐рдпрд░рд╣рд░реВ рдЬрд╕рд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдЫрдиреН рдХрд╛рдо рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
рддрдкрд╛рдЗрдБ рдХреБрди CI/CD рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ?
рд╕реНрд░реЛрдд: www.habr.com