рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рдпреБрджреНрдз

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

рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рдпреБрджреНрдз

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

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

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

рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рдпреБрджреНрдз
рдорддрджрд╛рди рдкрд░рд┐рдгрд╛рдорд╣рд░реВ

рдЕрдиреНрдп CI/CD рдЙрдкрдХрд░рдгрд╣рд░реВ рдордзреНрдпреЗ, GitLab CI/CD рдкреНрд░рд╛рдпрдГ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

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

рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рдкрд░рд┐рдЪрдп

рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рдпреБрджреНрдз
рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдзреЗрд░реИ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз, рд▓рдЪрд┐рд▓реЛ CI/CD рдЙрдкрдХрд░рдг рд╣реЛред рдЬреЗрдирдХрд┐рдиреНрд╕ рдкреВрд░реНрдгрддрдпрд╛ рдЬрд╛рднрд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫред рдпрд╕рд╕рдБрдЧ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдирд┐рд░реНрдорд╛рдг, рдкрд░реАрдХреНрд╖рдг, рдбрд┐рдкреНрд▓реЛрдЗрдЩ, рдЗрдиреНрдЯрд┐рдЧреНрд░реЗрдЯрд┐рдЩреН, рд░ рд░рд┐рд▓рд┐рдЬрд┐рдЩрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВрд▓рд╛рдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓реЗ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реЗрдЯ рдЫред рдпреЛ рдЙрдкрдХрд░рдг рд╡рд┐рднрд┐рдиреНрди рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпрд╕рдорд╛ macOS, Windows, рд░ OpenSUSE, Ubuntu, рд░ Red Hat рдЬрд╕реНрддрд╛ рдзреЗрд░реИ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред рддреНрдпрд╣рд╛рдБ рдЬреЗрдирдХрд┐рдиреНрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рднрд┐рдиреНрди рдУрдПрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╕реНрдерд╛рдкрдирд╛ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдЫрдиреН, рдпреЛ рдЙрдкрдХрд░рдг рдбрдХрд░ рд░ JRE (рдЬрд╛рднрд╛ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг) рднрдПрдХреЛ рдХреБрдиреИ рдкрдирд┐ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

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

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

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

рдЬреЗрдирдХрд┐рдиреНрд╕рдХрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ

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

тЦНрезред рдирд┐: рд╢реБрд▓реНрдХ, рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд, рдмрд╣реБ-рдкреНрд▓реЗрдЯрдлрд░реНрдо рд╕рдорд░реНрдерди

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

тЦНреиред рд╡рд┐рдХрд╕рд┐рдд рдкреНрд▓рдЧрдЗрди рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо

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

тЦНрейред рд╕рдЬрд┐рд▓реЛ рд╕реНрдерд╛рдкрдирд╛ рд░ рд╕реЗрдЯрдЕрдк

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

тЦНрекред рдореИрддреНрд░реА рд╕рдореБрджрд╛рдп

рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдЭреИрдВ, рдЬреЗрдирдХрд┐рдиреНрд╕ рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛ, рдЬрд╕рдХреЛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдорд▓реЗ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдореБрджрд╛рдпрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрди рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рд╡рд░рд┐рдкрд░рд┐ рд╡рд┐рдХрд╛рд╕ рдЧрд░реЗрдХреЛ рдЫред рд╕рдореБрджрд╛рдп рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдбреНрд░рд╛рдЗрдн рдЧрд░реНрдиреЗ рдХрд╛рд░рдХрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛред

тЦНрелред REST API рдХреЛ рдЙрдкрд▓рдмреНрдзрддрд╛

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

тЦН6ред рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди

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

тЦН7ред рд╡рд┐рддрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди

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

GitLab рдХреЛ рдкрд░рд┐рдЪрдп

рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рдпреБрджреНрдз
GitLab CI/CD рд╕рдмреИрднрдиреНрджрд╛ рдирдпрд╛рдБ рд░ рд╕рдмреИрднрдиреНрджрд╛ рдкреНрд░рд┐рдп 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 рдПрдХреАрдХреГрдд рдЫред

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

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 рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ?

рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рдпреБрджреНрдз

рдЬреЗрдирдХрд┐рдиреНрд╕ рд░ GitLab CI/CD рдХреЛ рдпреБрджреНрдз

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди