
рд░рд┐рд▓реАрдЬ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдореЗрдб рдИрдЬрд╝реА
GitLab 11.7 рдХреЛрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВрдЖрдд рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдм рдПрдХ рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬ рдХрд╛рд╕реНрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ - рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рднреА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдХреЛрдбред рдпрд╣ рдЗрд╕ рд░рд┐рд▓реАрдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрд░реЛрдд рдХреЛрдб, рдмрд┐рд▓реНрдб рд▓реЙрдЧ, рдЕрдиреНрдп рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдпрд╛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдЬрдЧрд╣ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдФрд░ рдкрд░рд┐рд╖реНрдХреГрдд рд░рд┐рд▓реАрдЬ рдкреНрд░рдмрдВрдзрди рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧреАред
рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдкреНрд░рдмрдВрдзрди рдЕрдм рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд╛рдо рдЯреВрдЯрдиреЗ рд╡рд╛рд▓реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
рдорд▓реНрдЯреАрд▓реЗрд╡рд▓ рдиреЗрд╕реНрдЯреЗрдб рдорд╣рд╛рдХрд╛рд╡реНрдп рдЕрдВрддрд┐рдо рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдЧрд┐рдЯрд▓реИрдм рдореЗрдВ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо рдЬреЛрдбрд╝ рд╣реИрдВред рдиреЗрд╕реНрдЯреЗрдб рдорд╣рд╛рдХрд╛рд╡реНрдп рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдФрд░ рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБ-рд╕реНрддрд░реАрдп рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдХрд╛рдо рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдорд╣рд╛рдХрд╛рд╡реНрдп рдореЗрдВ рдЕрдм рдХрд╛рд░реНрдп рдФрд░ рдЕрдиреНрдп рдорд╣рд╛рдХрд╛рд╡реНрдп рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ; рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдВрд░рдЪрдирд╛ рдпреЛрдЬрдирд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕реАрдзрд╛ рд╕рдВрдмрдВрдз рдмрдирд╛рдПрдЧреАред
рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдХрд╛рд╕ рдЕрдиреБрдХреВрд▓рди
рдкреНрд░реАрдорд┐рдпрдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ Gitlab 11.7 рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдХреЛ рд╕реАрдзреЗ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ, рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реБрдП, рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░рд┐рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдмрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдФрд░ рдПрдирдкреАрдПрдо рдкреНрд░рджрд╛рди рдХрд░реЗрдВ GitLab рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд рдХреЗ рд╕рднреА рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рдФрд░ рдЕрдзрд┐рдХ
рдорд╛рд╕рд┐рдХ рд░рд┐рд▓реАрдЬ рдХреЗ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдореЗрдВ рдХреМрди рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдЪреБрдирдирд╛ рд╣рдореЗрд╢рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреБрдЫ рдФрд░ рд╢рд╛рдирджрд╛рд░ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рдирд╛рдо рджреЗрдВрдЧреЗ:
рдкреИрдЪ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рднреЗрджреНрдпрддрд╛ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ : рдЧрд┐рдЯрд▓реИрдм рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрдХрд░рдг рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред GitLab 11.7 рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рд╕рд╛рде, рдпрд╛рд░реНрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд Node.js рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреЗрджреНрдпрддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред рдЕрдм рддрдХ, рдпрд╣ рдкрд╣рд▓реА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдВрддрд┐рдо рдирд╣реАрдВ рд╣реИ!
рдПрдкреАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг : рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдИ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдпрд╛ рдЦреБрдж рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдорд╛рдирддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреЛ рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЬреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ рдФрд░ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред
рдЕрдВрддрд░-рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд▓рд┐рдВрдХ рджреЗрдЦрдирд╛ : рд╣рдорд╛рд░реА рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдЕрдВрддрд░-рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕реБрдзрд╛рд░ - рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдЕрдм рдЖрдкрдХреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░ рд╣реИред
рдЖрдЧреЗ рдЖрдкрдХреЛ GitLab 11.7 рд░рд┐рд▓реАрдЬрд╝ рдЗрдиреЛрд╡реЗрд╢рди рдХреА рдкреВрд░реА рд╕реВрдЪреА рдорд┐рд▓реЗрдЧреА!
рд╣рдо рдЖрдкрдХреЛ рдЕрдкрдиреА рдмреИрдардХреЛрдВ рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ

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

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

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

рдХрдиреНрд╡реЗрдпрд░ рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ рдХреЗ рд╢реЗрдбреНрдпреВрд▓ рдкрд░ рдкреНрд░рд▓реЗрдЦрди ред
рдкреИрдЪ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреЗрджреНрдпрддрд╛ рдХреЛ рдмрдВрдж рдХрд░рдирд╛
(рдЕрдВрддрд┐рдо, рд╕реНрд╡рд░реНрдг)
GitLab рдЖрдкрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛ рд╕рдХрддрд╛ рд╣реИред
GitLab 11.7 рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдЖрдк рдкреИрдЪ рдлрд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ git apply
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ git apply
рдХрд░ git apply
ред рдлрд┐рд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ, рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдирд▓ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рднреЗрджреНрдпрддрд╛ рдмрдВрдж рд╣реИред рдпрд╣ рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдХреИрдирд┐рдВрдЧ yarn
рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА NodeJS рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рдкреИрдЪ рднреЗрджреНрдпрддрд╛ рд╡рд┐рд╡рд░рдг рд╡рд┐рдВрдбреЛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

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

рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдФрд░ рдПрдХ рдореВрд▓ рдЯрд┐рдХрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рдкреНрд░рд▓реЗрдЦрди ред
рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп, рдорд╛рдирдХреАрдХреГрдд рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред рдПрдирдкреАрдПрдо рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред
GitLab рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 11.7 рдореЗрдВ, рд╣рдордиреЗ GitLab рдореЗрдВ рдирд┐рд░реНрдорд┐рдд NPM рд╕рдВрдХреБрд▓ рдХреА рдПрдХ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдЬреЛрдбрд╝реАред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд┐рд╕реА рднреА рдиреЛрдб.рдЬреЗрдПрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреИрдХреЗрдЬ рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдПрдирдкреАрдПрдо рдФрд░ рдЧрд┐рдЯрд▓реИрдм рдмрд╛рдХреА рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╕рдм рдПрдХ рд╣реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрд╣ рдлреАрдЪрд░ GitLab Premium рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред
рдирдореВрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рджреЗрдЦреЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реЛрддреА рд╣реИред

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

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

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

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ ред
рдЖрдиреЗ рд╡рд╛рд▓реЗ рдИрдореЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Microsoft рдПрдХреНрд╕рдЪреЗрдВрдЬ рдФрд░ Google рд╕рдореВрд╣ рд╕рд╣рд┐рдд рд╕рднреА рдореЗрд▓рдмреЙрдХреНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
GitLab рдореЗрдВ рдХрдИ рд╢рд╛рдВрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдИрдореЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдИрдореЗрд▓ рдХрд╛ рдЬрд╡рд╛рдм , рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЯрд┐рдХрдЯ рдирд┐рд░реНрдорд╛рдг , рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд▓рдп рдЕрдиреБрд░реЛрдз рдирд┐рд░реНрдорд╛рдг (GitLab рдХреЗ рд░реВрд╕реА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг "рд╡рд┐рд▓рдп рдЕрдиреБрд░реЛрдз") рдФрд░ рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рддрдХрдиреАрдХреА рд╕рдорд░реНрдерди ред рдкрд╣рд▓реЗ, рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ рдЬрдм рдЖрдкрдХрд╛ рдИрдореЗрд▓ рд╕рд░реНрд╡рд░ рдЙрдк-рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рдерд╛ред
рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, GitLab рджреЛрдиреЛрдВ рдПрдХ рдирдП рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдм-рдПрдбреНрд░реЗрд╕рд┐рдВрдЧ рдФрд░ рдХреИрдЪ-рд╕рднреА рдореЗрд▓рдмреЙрдХреНрд╕реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ GitLab рдХреЛ Microsoft Exchange рдФрд░ Google рд╕рдореВрд╣реЛрдВ рд╕рд╣рд┐рдд рдФрд░ рднреА рдИрдореЗрд▓ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╕рдм-рдПрдбреНрд░реЗрд╕рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред ред
рдЖрдиреЗ рд╡рд╛рд▓реЗ рдИрдореЗрд▓ рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд▓реЗрдЦрди ред
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдЕрдХреНрд╕рд░, рдЬрдм рд╡рд┐рдХрд╛рд╕ рджрд▓ GitLab рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдЖрдк рдЕрднреА рдЬреАрд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧрд┐рдЯрд▓реИрдм рдореЗрдВ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред
рдЗрд╕ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдпрд╣ рд╕рдВрдХреНрд░рдордг рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЪреВрдВрдХрд┐ рдХрдИ рдХрд╛рд░реНрдп рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо CSV рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдм рдЖрдк рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ GitLab рдореЗрдВ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЖрдЧреЗ рдХреЗ рдЦреЛрдЬ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП GitLab рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЬреАрд░рд╛ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрдп рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬреЛ рд╕реАрдПрд╕рд╡реА рдирд┐рд░реНрдпрд╛рдд рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
GitLab рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА CSV рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред

CSV рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ рдХреЗ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди ред
рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ SHA рдЕрдиреБрдХреНрд░рдо рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
Git рдореЗрдВ, SHAS Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ 40 рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕реЗ рдорд┐рд▓рдХрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ (рдЬреИрд╕реЗ рдХрдорд┐рдЯреНрд╕) рдХреЗ рд╕рдВрдХреЗрдд рд╣реЛрддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░ рдкреВрд░реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ SHA рдХреЗ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдЖрда рдЕрдХреНрд╖рд░ рд▓рд┐рдВрдХ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рджрд┐рдЦрд╛рдП рдЬрд╛рдПрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреНрд░рдо рдЕрджреНрд╡рд┐рддреАрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CI рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП CI_COMMIT_SHORT_SHA
рдкрд░реНрдпрд╛рд╡рд░рдг CI_COMMIT_SHORT_SHA
рдЬреЛрдбрд╝рд╛, рдЬреЛ рдЖрдкрдХреЛ SHA рдкреНрд░рддрд┐рдмрджреНрдз рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ рдкрд░ рдкреНрд░рд▓реЗрдЦрди ред
рдЖрдкрдХреЗ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдкрд░ рдЕрдзрд┐рдХ рдХрдбрд╝реЗ рдкреНрд░рддрд┐рдмрдВрдз
(рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдПрдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдПрдХ рдЕрднреНрдпрд╛рд╕ рд╣реИ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдлрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд▓реЗрдЦрдХ рдирд╣реАрдВ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЗ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдирд┐рд╖рд┐рджреНрдз рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрдорд┐рдЯреНрд╕ рдХреЛ рдЗрд╕ рдкреНрд░рддрд┐рдмрдВрдз рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
GitLab 11.7 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░, рдЙрдирдХреЗ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рднреА рдЙрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдФрд░ рдПрдХ рдореВрд▓ рдЯрд┐рдХрдЯ рдХреА рдкреБрд╖реНрдЯрд┐ рдкрд░ рдкреНрд░рд▓реЗрдЦрди ред
рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдЬрдм рдЖрдк рд╢рд╛рдорд┐рд▓ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ include
рдХрд░рддреЗ include
, рддреЛ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ HTTP / HTTPS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рдЖрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд╣реБрдБрдЪ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, GitLab.com рдкрд░ рдПрдХ рдирд┐рдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛) рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
YAML рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдореВрд▓ рдЯрд┐рдХрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ ред
рд╕рдореВрд╣ рд╕реБрд░рдХреНрд╖рд╛ рднреЗрджреНрдпрддрд╛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ
(рдЕрдВрддрд┐рдо, рд╕реНрд╡рд░реНрдг)
рд╕рдореВрд╣ рд╕реБрд░рдХреНрд╖рд╛ рдбреИрд╢рдмреЛрд░реНрдб рд╕реБрд░рдХреНрд╖рд╛ рдЯреАрдореЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕рдореВрд╣реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рд╕рдм рдХреБрдЫ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
GitLab 11.7 рдХреЗ рд╕рд╛рде, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдЧрдВрднреАрд░рддрд╛, рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рдХрд╛рд░ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╡реЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рддрдХ рддреЗрдЬреА рд╕реЗ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рд╕реВрдЪреА рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред

рднреЗрджреНрдпрддрд╛ рджреЗрдЦрдиреЗ рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдПрдХ рдореВрд▓ рдЯрд┐рдХрдЯ ред
рд╕рдореВрд╣ рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдирд▓ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдХреИрди рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ
(рдЕрдВрддрд┐рдо, рд╕реНрд╡рд░реНрдг)
рд╕рдореВрд╣ рдХрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдирд▓ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ SAST рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗред
GitLab 11.7 рдХреЗ рд╕рд╛рде, рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдХреИрди рдкрд░рд┐рдгрд╛рдо рдЙрдкрд▓рдмреНрдз рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВред рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирдИ рд░рд┐рдкреЛрд░реНрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдирд▓ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВрдЧреЗред Auto DevOps рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдм рдЗрд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдХреИрди рдХреЛ рдареАрдХ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП GitLab Runner рд╕рдВрд╕реНрдХрд░рдг 11.5 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

YAML рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдореВрд▓ рдЯрд┐рдХрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ ред
Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рддреЗ рд╕рдордп рдбрд┐рдлрд╝реЙрд▓реНрдЯ RBAC рдореЛрдб
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╣реБрдВрдЪ рдФрд░ рдЗрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдордд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
GitLab 11.7 рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ RBAC рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред
рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ RBAC рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ ред
рдЙрдкрд╕рдореВрд╣реЛрдВ рдореЗрдВ рдирд┐рдЬреА рдЧреЛ рд╕рдВрдХреБрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
GitLab рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдЧреЛ рдкреИрдХреЗрдЬ рдХреЛ рдЧреЛ рдЧреЗрдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рдЙрдкрд╕рдореВрд╣реЛрдВ рдореЗрдВ рдирд┐рдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдерд╛ред GitLab 11.7 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЧреЛ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрд╕рдореВрд╣реЛрдВ рдореЗрдВ рдирд┐рдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдирд┐рдЬреА рд╕рдВрдХреБрд▓ рдХреЛ go get
рдХрдорд╛рдВрдб рдХреЗ рджреНрд╡рд╛рд░рд╛ .netrc
рдФрд░ password
рдлреАрд▓реНрдб рдореЗрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдореЛрд░реНрдЪреЗрдЪреЛрдИ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!
рдЙрдкрд╕рдореВрд╣ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ ред
NGINX Ingress 0.16.0+ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
NGINX Ingress 0.16.0 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде, Prometheus рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЕрдм рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рд╣реИрдВ , рдмрдЬрд╛рдп рдЕрдиреНрдп рдирд┐рд░реНрдпрд╛рдд рдЯреВрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗред
GitLab 11.7 рдореЗрдВ рдЕрдм NGINX Ingress 0.16.0+ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдереНрд░реВрдкреБрдЯ, рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рддреНрд░реБрдЯрд┐ рджрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
NGINX Ingress рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ ред
Git рдкреБрд╢ рдХреЗ рджреМрд░рд╛рди CI рдЕрд╕реЗрдВрдмрд▓рд┐рдВрдЧ рд╕реНрдХрд┐рдк рдХрд░рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдЫ рдкреНрд░рддрд┐рдмрджреНрдз рдХреЗ рд▓рд┐рдП CI / CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд▓рд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдереЗ, рддреЛ рд╡реЗ рдкреНрд░рддрд┐рдмрджреНрдз рд╡рд┐рд╡рд░рдг рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдиреЛрдЯ [ci skip]
рдпрд╛ [skip ci]
рдЬреЛрдбрд╝ рд╕рдХрддреЗ рдереЗред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреНрд░рддрд┐рдмрджреНрдз рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдпрд╛ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗред
GitLab 11.7 рдХреЗ рд╕рд╛рде рд╢реБрд░реВред Git рд╕рдВрд╕реНрдХрд░рдг 2.10 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп , рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ GitLab рдХреЛ рдПрдХ рдХрдорд┐рдЯ рднреЗрдЬрддреЗ рд╕рдордп рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП Git рдкреБрд╢ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдЖрдк рдХрдорд┐рдЯ рд╡рд┐рд╡рд░рдг рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдЙрд╕реА рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП git push -o ci.skip
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЬреЛрдирд╛рдерди рд░реЗрдирд╣рд╛рд░реНрдЯ рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж!
рд▓рд╛рдкрддрд╛ рд╕реАрдЖрдИ рдиреМрдХрд░рд┐рдпреЛрдВ рдФрд░ рдореВрд▓ рдЯрд┐рдХрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди ред
рдЧрд┐рдЯрд▓рдм рд░рдирд░ 11.7
(рдХреЛрд░, рд╕реНрдЯрд╛рд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреНрд░рд╛, рдлреНрд░реА, рдмреНрд░реЛрдВрдЬрд╝, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рд╣рдо GitLab рд░рдирд░ 11.7 рднреА рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ! GitLab рд░рдирд░ рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ CI / CD рдЬреЙрдмреНрд╕ рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ GitLab рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди:
CHANGELOG GitLab рд░рдирд░ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред
GitLab рдзрд╛рд╡рдХ рдкреНрд░рд▓реЗрдЦрди ред
рд╡рд┐рд╕реНрддреГрдд рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕ рдФрд░ рдЕрдкрдбреЗрдЯ / рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рдореВрд▓ рдЕрдВрдЧреНрд░реЗрдЬреА рдкреЛрд╕реНрдЯ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: GitLab 11.7 рдХреЛ рд░рд┐рд▓реАрд╡, рдорд▓реНрдЯреА-рд▓реЗрд╡рд▓ рдЪрд╛рдЗрд▓реНрдб рдПрдкрд┐рдХреНрд╕ рдФрд░ рдПрдирдкреАрдПрдо рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рд╕рд╛рде рднреЗрдЬ рджрд┐рдпрд╛ рдЧрдпрд╛ ред
рдЕрдВрдЧреНрд░реЗрдЬреА рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдкрд░ рдХреИрдЯреАрдбреЙрд░рдбреЗрди , рдореЗрд░рд┐рдпрд╛рд░реНрдЯрдХреА , рдПрдЗрдиреЛрдиреЗрдХреЛ рдФрд░ рдЛрд╖рд╡рдиреНрдд рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред