рд░рд┐рд▓реАрдЬрд╝ 13.4 рдХреЛ рд╕реАрдЖрдИ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдЬреЗрдВрдЯ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗрдВрджреНрд░ рдХреЗ рд▓рд┐рдП рд╣рд╛рд╢реАрдХреЙрд░реНрдк рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдЯрд╛рд░реНрдЯрд░ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
GitLab рдореЗрдВ, рд╣рдо рд╣рдореЗрд╢рд╛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд░рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЬреЛрдЦрд┐рдо рдХрдо рдХрд░рдиреЗ, рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдЖрдкрдХреЗ рдкрд╕рдВрджреАрджрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╣реАрдиреЗ рд╣рдордиреЗ рдХрдИ рдЙрдкрдпреЛрдЧреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝реА рд╣реИрдВ рдЬреЛ рд╕реБрд░рдХреНрд╖рд╛ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреА рд╣реИрдВ, рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░рддреА рд╣реИрдВ, рджрдХреНрд╖рддрд╛ рдмрдврд╝рд╛рддреА рд╣реИрдВ, GitLab рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИрдВ рдФрд░ рдЖрдкрдХреА рдЯреАрдо рдХреЛ рдФрд░ рднреА рддреЗрдЬреА рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВред рд╣рдо рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рднреА рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗрдВрдЧреА 53 рдЕрдиреНрдп рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ, рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
рдЙрдиреНрдирдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ
рд╣рдо рд╣рд░ рдорд╣реАрдиреЗ GitLab DevSecOps рдореЗрдВ рдХрдИ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред
рдЬреЛрдЦрд┐рдо рдХрдо рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдирдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ
GitLab рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдХреБрд╢рд▓ рдХрд╛рд░реНрдп
рд╣рдордиреЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╡реИрд╢реНрд╡рд┐рдХ рдЦреЛрдЬ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ
рдореБрдХреНрдд рд╕реНрд░реЛрдд рдпреЛрдЧрджрд╛рди
рдЙрдкрд╕реНрдерд┐рдд рдереЗ
рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рд╢реБрд░реБрдЖрдд рд╣реИ!
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд▓реЛрдХрди рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЬрдЧрд╣ рд╣реИ, рд▓реЗрдХрд┐рди 13.4 рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╢рд╛рдирджрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВред рдпрд╣рд╛рдБ рдХреБрдЫ рдФрд░ рд╣реИрдВ:
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦреЗрдВ рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд░рджреНрдж рдХрд░реЗрдВ рд╕реНрд╡-рдкреНрд░рдмрдВрдзрд┐рдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╣реБрдВрдЪ рдЯреЛрдХрди рд░рджреНрдж рдХрд░реЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреГрд╖реНрда рдкрд░ рдкреВрд░реНрдг рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЗрдВ (рд░реВрд╕реА рдореЗрдВ GitLab "рдЕрд╕реЗрдВрдмрд▓реА рд▓рд╛рдЗрдиреНрд╕" рдХрд╛ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг) рдЕрдм рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЗрдВ рдЪрд▓рд╛ рд╕рдХрддреА рд╣реИрдВ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ GitLab рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдорд░реНрдерди .
рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИ рдЕрдЧрд▓рд╛ рдЬрд╛рд░реА рдХрд░реЛ, рджреЗрдЦ рд▓реЛ
MVP рдЗрд╕ рдорд╣реАрдиреЗ - рдлреИрдмрд┐рдпреЛ рд╣рд╕рд░
рдлреИрдмрд┐рдпреЛ рдиреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛
GitLab 13.4 рд░рд┐рд▓реАрдЬрд╝ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
CI рдиреМрдХрд░рд┐рдпреЛрдВ рдореЗрдВ HashiCorp рд╡реЙрд▓реНрдЯ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рд░рд┐рд▓реАрдЬрд╝ 12.10 рдореЗрдВ, GitLab рдиреЗ GitLab рдЬреЙрдм рд╣реИрдВрдбрд▓рд░ (GitLab рд░рдирд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ CI рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреЗрд╢ рдХреАред рдЕрдм рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ secrets
рджрд╛рдпрд░ рдХрд░рдирд╛ .gitlab-ci.yml
. рдЗрд╕рд╕реЗ GitLab рдХреЗ рд╕рд╛рде HashiCorp рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
GitLab Kubernetes рдПрдЬреЗрдВрдЯ рдХрд╛ рдкрд░рд┐рдЪрдп
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ)
Kubernetes рдХреЗ рд╕рд╛рде GitLab рдХреЗ рдПрдХреАрдХрд░рдг рдиреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИред рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рдмрдВрдбрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдкрд╕рдВрдж рдЖрдИ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдХреЛ рдХреБрдЫ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд╡рд░реНрддрдорд╛рди рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП, GitLab рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдИ рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реБрд░рдХреНрд╖рд╛, рдЕрдиреБрдкрд╛рд▓рди рдпрд╛ рдирд┐рдпрд╛рдордХ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрди рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ GitLab рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЕрдкрдиреЗ рдЯреВрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЕрдиреНрдпрдерд╛ рд╡реЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред
рдЖрдЬ рд╣рдо GitLab Kubernetes Agent рдкреЗрд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирдпрд╛ рддрд░реАрдХрд╛ рд╣реИред рдПрдЬреЗрдВрдЯ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдЕрдВрджрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреВрд░реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдПрдЬреЗрдВрдЯ GitLab рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЕрдкрдбреЗрдЯ рднреЗрдЬрдиреЗ рдХреЗ рдмрдЬрд╛рдп GitLab рд╕реЗ рдирдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдХреЗ рддреИрдирд╛рддреА рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ GitOps рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, GitLab рдиреЗ рдЖрдкрдХреЛ рдХрд╡рд░ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдПрдЬреЗрдВрдЯ рдХреА рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬрд╝ рд╣реИред GitLab Kubernetes Agent рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд╡рд░реНрддрдорд╛рди рдлреЛрдХрд╕ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреИрдирд╛рддреА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╣реИред рдХреБрдЫ рдореМрдЬреВрджрд╛ Kubernetes рдПрдХреАрдХрд░рдг рд╕реБрд╡рд┐рдзрд╛рдПрдБ, рдЬреИрд╕реЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдмреЛрд░реНрдб рдФрд░ GitLab рдкреНрд░рдмрдВрдзрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреЛрдб рдПрдХреНрд╕реЗрд╕ рдХреЗ рдмрд┐рдирд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЕрдиреБрдорддрд┐рдпрд╛рдБ рджреЗрдВ
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдкрд╣рд▓реЗ, GitLab рдХреА рдЕрдиреБрдорддрд┐ рдкреНрд░рдгрд╛рд▓реА рдиреЗ рдЖрдкрдХреА рдЯреАрдо рдХреЗ рднреАрддрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд▓реЛрдЧреЛрдВ рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛ рджрд┐рдпрд╛ рдерд╛ред GitLab 13.4 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде, рдЖрдк рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдордВрдЬреВрд░реА рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдб рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреЛрдб рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдореЗрдВрдЯреЗрдирд░ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░ рджрд┐рдП рдмрд┐рдирд╛ (GitLab "рдореЗрдВрдЯреЗрдирд░" рдХреЗ рд░реВрд╕реА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдореЗрдВ) ).
рд╕реБрд░рдХреНрд╖рд╛ рдХреЗрдВрджреНрд░
(рдкрд░рдо, рд╕реНрд╡рд░реНрдг)
рдкрд╣рд▓реЗ, рдЗрдВрд╕реНрдЯреЗрдВрд╕-рд╕реНрддрд░реАрдп рднреЗрджреНрдпрддрд╛ рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рджреЛрдиреЛрдВ рдореЗрдВ рд╕реАрдорд┐рдд рдерд╛ред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдПрдХ рдПрдХрд▓ рдкреГрд╖реНрда рдерд╛ рдЬреЛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ, рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЧреНрд░рд╛рдлрд╝ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдпрд╛ рдЕрдиреНрдп рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред
рд╣рдордиреЗ GitLab рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рдореВрд▓рднреВрдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдирд▓ рдХреЛ рд╕рдВрдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдХреЗрдВрджреНрд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдирдИ рдореЗрдиреВ рд╕рдВрд░рдЪрдирд╛ рдХреА рд╢реБрд░реВрдЖрдд рд╣реИ: рдПрдХ рдкреГрд╖реНрда рдХреЗ рдмрдЬрд╛рдп, рдЕрдм рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рдбреИрд╢рдмреЛрд░реНрдб, рднреЗрджреНрдпрддрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЕрдиреБрднрд╛рдЧ рдЕрд▓рдЧ рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИ, рдЗрд╕реЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛ рд╕рдХреЗрдЧрд╛ рдЬреЛ рдЕрдиреНрдпрдерд╛ рдХрдард┐рди рд╣реЛрдЧрд╛ред рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдиреНрдп рд╕реБрд░рдХреНрд╖рд╛-рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдордВрдЪ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рд╕рдорд░реНрдкрд┐рдд рднреЗрджреНрдпрддрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЕрдм рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рд╣реИред рдпрд╣рд╛рдВ рд╡реЗ рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣реИрдВред рднреЗрджреНрдпрддрд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╡рд╛рд▓реЗ рд╡рд┐рдЬреЗрдЯ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рдмрдирддрд╛ рд╣реИред рдпрд╣ рдЕрдм рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреИрдирд╡рд╛рд╕ рд╣реИ - рди рдХреЗрд╡рд▓ рднреЗрджреНрдпрддрд╛ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдХрд┐рд╕реА рднреА рд╕реБрд░рдХреНрд╖рд╛-рд╕рдВрдмрдВрдзреА рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдПред рдЕрдВрдд рдореЗрдВ, рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯрд┐рдВрдЧ рдХреНрд╖реЗрддреНрд░ рдХреЗрд╡рд▓ рднреЗрджреНрдпрддрд╛ рдкреНрд░рдмрдВрдзрди рд╣реА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рднреА рдЗрдВрд╕реНрдЯреЗрдВрд╕-рд╕реНрддрд░реАрдп рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдм GitLab рд╕реНрдЯрд╛рд░реНрдЯрд░ рдореЗрдВ рд╣реИрдВ
(рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдХрд╛рдВрд╕реНрдп, рд░рдЬрдд, рд╕реНрд╡рд░реНрдг)
GitLab 11.4 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдЗрд╕ рд╕рд╛рд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, GitLab рдиреЗ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдЬрддрд╛рдИ рдереА
рдЦреЛрдЬ рдмрд╛рд░ рд╕реЗ рддреНрд╡рд░рд┐рдд рдиреЗрд╡рд┐рдЧреЗрд╢рди
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдХрднреА-рдХрднреА GitLab рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддреЗ рд╕рдордп рдЖрдк рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдкреГрд╖реНрда рдХреЗ рдмрдЬрд╛рдп рд╕реАрдзреЗ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╡реИрд╢реНрд╡рд┐рдХ рдЦреЛрдЬ рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдирд╡реАрдирддрдо рдЯрд┐рдХрдЯреЛрдВ, рд╕рдореВрд╣реЛрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рд╕рд╣рд╛рдпрддрд╛ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рддреБрд░рдВрдд рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд╣реЙрдЯрдХреА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ /
GitLab рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХрд░реНрд╕рд░ рдХреЛ рдЦреЛрдЬ рдмрд╛рд░ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВ!
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХреЛрдб рдХрд╡рд░реЗрдЬ рджрд┐рдЦрд╛рдирд╛ рднрд┐рдиреНрди рд╣реИ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмрджрд▓рд╛ рд╣реБрдЖ рдХреЛрдб рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕рдореАрдХреНрд╖рдХ рд╕рдордЧреНрд░ рдХрд╡рд░реЗрдЬ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХреЛ рдордВрдЬреВрд░реА рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдПред рдЗрд╕рд╕реЗ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдореЗрдВ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЕрдм, рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдЕрдВрддрд░ рдХреЛ рджреЗрдЦрддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХрд╛ рдПрдХ рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рди рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдирдП рдирд┐рд╢рд╛рди рдЖрдкрдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗ рдХрд┐ рдмрджрд▓рд╛ рд╣реБрдЖ рдХреЛрдб рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдФрд░ рдирдП рдХреЛрдб рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдФрд░ рддреИрдирд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред
рдзрдиреНрдпрд╡рд╛рдж
рдкрд░рд┐рд╡реЗрд╢ рдкреИрдирд▓ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд░рд┐рд╡реЗрд╢ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
GitLab 12.5 рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
GitLab, GitLab рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рд▓реЗрддрд╛ рд╣реИ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣рдо
рдУрдкрдирдПрдкреАрдЖрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдпрд╛ рдПрдЪрдПрдЖрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдлрд╝рдЬрд╝рд┐рдВрдЧ рдПрдкреАрдЖрдИ рдкрд░реАрдХреНрд╖рдг
(рдкрд░рдо, рд╕реНрд╡рд░реНрдг)
рдПрдкреАрдЖрдИ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдЖрдкрдХреЗ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдПрдкреАрдЖрдИ рдореЗрдВ рдмрдЧ рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рд╕реНрдХреИрдирд░ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдЫреВрдЯ рд╕рдХрддреЗ рд╣реИрдВред
GitLab рдореЗрдВ рдПрдкреАрдЖрдИ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдЖрдкрдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдпрд╣ рд╣рдорд╛рд░реА рдкрд╣рд▓реА рдПрдкреАрдЖрдИ рдлрд╝рдЬрд╝ рдкрд░реАрдХреНрд╖рдг рд░рд┐рд▓реАрдЬрд╝ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдХрд░ рдЦрд╝реБрд╢реА рд╣реЛрдЧреА рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдлрд╝рдЬрд╝ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЙрдХ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИ
рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреИрдирд▓ рдореЗрдВ рдирдП рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд░реЗрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдкрд╣рд▓реЗ, GitLab рдореЗрдВ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рдирд╛ рдХреЛрдИ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рдерд╛ред рдбреИрд╢рдмреЛрд░реНрдб YAML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореАрдЯреНрд░рд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдЗрд╕рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП master
, рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реБрдП рдмрд┐рдирд╛ рдХрд┐ рдирдпрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдЧреНрд░рд╛рдлрд╝ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рдЖрдк рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рддреЗ рд╕рдордп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдбреИрд╢рдмреЛрд░реНрдб YAML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдореВрд╣ рдХреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдкрд░ рдбреЗрдЯрд╛
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдЬрдм рдЖрдк GitLab рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдПрдХ рд╕реНрд░реЛрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХреИрд╕реЗ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред рдкрд╣рд▓реЗ, рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдард┐рди рдФрд░ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдореИрдиреНрдпреБрдЕрд▓ рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдереА: рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрддрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рдерд╛ред
рд░рд┐рд▓реАрдЬрд╝ 13.4 рдореЗрдВ, рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрдпреЛрдЬрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ .csv
рд╕рдореВрд╣ рдХреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдпрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЪрдпрди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╡рд░реЗрдЬ рдкрд░ рд╕рднреА рдбреЗрдЯрд╛ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдПрдорд╡реАрд╕реА рд╣реИ, рдЗрд╕рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХреНрд╖рдорддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдкреВрд░реНрдг рдлрд╝рдЬрд╝ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдирдИ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди
(рдкрд░рдо, рд╕реНрд╡рд░реНрдг)
рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ рдкреВрд░реНрдг рдХрд╡рд░реЗрдЬ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдлрд╝рдЬрд╝ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрдИ рдирдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреА рд╣реИред
рдЕрдм рдЖрдк рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛, рд░рд╕реНрдЯ рдФрд░ рд╕реНрд╡рд┐рдлреНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдХреА рдкреВрд░реНрдг рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдиреНрдп рд╕реНрдХреИрдирд░ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдЫреВрдЯ рд╕рдХрддреА рд╣реИрдВред
рдореБрдЦреНрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдкреГрд╖реНрда рдкрд░ рдЕрд▓рд░реНрдЯ
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдкрд░рд┐рд╡реЗрд╢ рдкреГрд╖реНрда рдЖрдкрдХреЗ рдкрд░рд┐рд╡реЗрд╢ рдХреА рд╕рдордЧреНрд░ рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ. рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╣рдордиреЗ рдЕрд▓рд░реНрдЯ рдбрд┐рд╕реНрдкреНрд▓реЗ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рдкреЗрдЬ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреЗ рдкрд░рд┐рд╡реЗрд╢ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЕрд▓рд░реНрдЯ рдЖрдкрдХреЛ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред
рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЗрдВ рдЕрдм рдЕрдкрдиреА рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЗрдВ рдЪрд▓рд╛ рд╕рдХрддреА рд╣реИрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЕрдм рдЪрд╛рдЗрд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЕрдВрджрд░ рдирдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреА рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рдВрдЦреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдЧрд╣рд░рд╛рдИ рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдкрд╣рд▓реЗ, рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рдЗрд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдореВрд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдХрд╛рд░реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдереАред рдЕрдм рдЖрдк рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирдИ рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдореЛрдиреЛрд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╣реИ, рддреЛ рдЖрдк рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкрд╣рд▓реА рдЙрдкрдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЗрдВ рдмрдирд╛рдПрдЧреАред
рдореВрд▓ рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмреАрдЪ рдмреЗрд╣рддрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдкрд╣рд▓реЗ, рдореВрд▓ рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмреАрдЪ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рдерд╛ - рд╡рд╛рдВрдЫрд┐рдд рдкрд╛рдЗрдкрд▓рд╛рдЗрди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреНрд▓рд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдереАред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рднреА рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ рдХрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд┐рд╕ рдХрд╛рдо рд╕реЗ рд╢реБрд░реВ рд╣реБрдИред рдЕрдм рдореВрд▓ рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рджреЗрдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдорд╛рдирд╛рдВрддрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдиреМрдХрд░рд┐рдпрд╛рдВ рдиреМрдХрд░реА рдХреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЪрд░ рджрд┐рдЦрд╛рддреА рд╣реИрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдпрджрд┐ рдЖрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ matrix 1/4
. рд░рд┐рд▓реАрдЬрд╝ 13.4 рдореЗрдВ, рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЪрд░ рдорд╛рди рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рдЙрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдереЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХрд╛ рд▓рдХреНрд╖реНрдп x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдп рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ matrix: debug x86
.
GitLab 13.4 рдореЗрдВ рдЕрдиреНрдп рд╕реБрдзрд╛рд░
рдПрдЯрд▓рд╕рд┐рдпрди рдЦрд╛рддрд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ)
GitLab рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдм рдЕрдкрдиреЗ GitLab рдЦрд╛рддреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдПрдЯрд▓рд╕рд┐рдпрди рдХреНрд▓рд╛рдЙрдб рдЦрд╛рддреЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХреЗрдВрдЧреЗред рдпрд╣ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдПрдЯрд▓рд╕рд┐рдпрди рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЗ рд╕рд╛рде GitLab рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдПрдХреАрдХрд░рдг рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рднреА рддреИрдпрд╛рд░ рдХрд░реЗрдЧрд╛ред
рд╕рднреА рдорд░реНрдЬ рдХрдорд┐рдЯреЛрдВ рдХреА рд╕реВрдЪреА рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛
(рдкрд░рдо, рд╕реНрд╡рд░реНрдг)
рдЕрдиреБрдкрд╛рд▓рди-рдХреЗрдВрджреНрд░рд┐рдд рд╕рдВрдЧрдардиреЛрдВ рдХреЛ рд▓реЗрдЦрд╛ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рд╕реЗ рдЬреБрдбрд╝реЗ рдШрдЯрдХреЛрдВ рдХрд╛ рд╕рдордЧреНрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред GitLab рдореЗрдВ, рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛: рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз, рдЯрд┐рдХрдЯ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди, рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреИрди рдФрд░ рдЕрдиреНрдп рдкреНрд░рддрд┐рдмрджреНрдз рдбреЗрдЯрд╛ред рдЕрдм рддрдХ, рдЖрдкрдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдЗрд╕реЗ GitLab рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ рдпрд╛ рдЕрдкрдиреЗ рдЯреВрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛, рдЬреЛ рдмрд╣реБрдд рдХреБрд╢рд▓ рдирд╣реАрдВ рдерд╛ред
рдЕрдм рдЖрдк рдСрдбрд┐рдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдпрд╛ рдЕрдиреНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХрддреНрд░ рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рд╕рднреА рдорд░реНрдЬ рдХрдорд┐рдЯреЛрдВ рдХреА рд╕реВрдЪреА рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛
рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ
(рдкрд░рдо, рд╕реНрд╡рд░реНрдг)
GitLab рдиреЗрдорд╕реНрдкреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЕрдиреБрдкрд╛рд▓рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рд╕реЗ рд▓реЗрдХрд░ рд╕рдордпрдмрджреНрдз рдкрд╣реБрдВрдЪ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рддрдХ, GitLab рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рд╕реЗ рдЬреБрдбрд╝реА рдХрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЖрдкрдХреЗ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рднреАрддрд░ рдЗрди рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╕рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХреА рд╣реИ
GitLab API рдореЗрдВ рдпреЗ рд╕реБрдзрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдФрд░ рдирд┐рд░рд╕реНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЯреЛрдХрди рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдФрд░ рдирд┐рд░рд╕реНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЕрдм рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдЙрдирдХреЗ рдирд╛рдорд╕реНрдерд╛рди рддрдХ рдХрд┐рд╕рдХреА рдкрд╣реБрдВрдЪ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд╣реБрдВрдЪ рд╕рдВрдмрдВрдзреА рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рдФрд░ рдЙрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╣реБрдВрдЪ рдЯреЛрдХрди рдХреЛ рд░рджреНрдж рдХрд░рдирд╛, рдЬрд┐рдирдХреЗ рд╕рд╛рде рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЬреЛ рдХрдВрдкрдиреА рдХреА рдкрд╣реБрдВрдЪ рдкреНрд░рдмрдВрдзрди рдиреАрддрд┐рдпреЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВред
рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ рдФрд░ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдм GitLab Core рдореЗрдВ рд╣реИрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╣рдордиреЗ рдПрдХ рдпреЛрдЬрдирд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдереА
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рдореВрд▓ рд╢рд╛рдЦрд╛ рдХрд╛ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди, рдЪрд░реНрдЪрд╛ рдФрд░ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп, рдЧрд╣рди рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рд╢рд╛рдЦрд╛ рдХрд╛ рд╕реНрдерд╛рдиреАрдп рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рдирд╛ рдЕрдХреНрд╕рд░ рд╡рд╛рдВрдЫрдиреАрдп рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдереНрд░реЗрдб рдХрд╛ рдирд╛рдо рдвреВрдВрдврдирд╛ рдХрдард┐рди рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдкреГрд╖реНрда рдХреЛ рдФрд░ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рд╣рдордиреЗ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рд╢рд╛рдЦрд╛ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рдордп рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреВрд░реЗ рдкреГрд╖реНрда рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧреАред рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдВрдХ рдХреА рддрд░рд╣, рд╕реНрд░реЛрдд рд╢рд╛рдЦрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ "рдХреЙрдкреА" рдмрдЯрди рд╣реЛрддрд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХрднреА-рдХрднреА рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдХрдо рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЧрд▓рддреА рд╕реЗ рдЫреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВред рд╕рдВрд╕реНрдХрд░рдг 13.4 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдЙрди рдЕрдВрддрд░реЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдирдореЗрдВ рдореБрдбрд╝реА рд╣реБрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддрд╛рдХрд┐ рдЖрдк рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рди рдЪреВрдХреЗрдВред рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдмрдиреЗ рд░рд╣реЗрдВ
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдВрддрд░ рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рднрд┐рдиреНрди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп, рдЬрдм рд╕рдореАрдХреНрд╖рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЫреВрдЯ рд╕рдХрддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
рд╣рдордиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рднрд┐рдиреНрди рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рджреГрд╢реНрдпрдорд╛рди рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝реА рд╣реИ рдХрд┐ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдПрдХ рдорд░реНрдЬ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рд╣реИред рдЗрд╕ рддрд░рд╣, рдЖрдк рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХреЛрдИ рднреА рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рдЪреВрдХреЗрдВрдЧреЗред
рдЧреАрддрд╛рд▓реА рдХреНрд▓рд╕реНрдЯрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдкрд╣рд▓реЗ, рдЬрдм рдЧреАрддрд╛рд▓реА рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдиреЛрдб рдСрдлрд╝рд▓рд╛рдЗрди рд╣реЛ рдЬрд╛рддрд╛ рдерд╛, рддреЛ рдЙрд╕ рдиреЛрдб рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ред рдЗрд╕рдиреЗ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЛ рд░реЛрдХрд╛ рдЬрд╣рд╛рдВ рдиреЛрдб рдкрд░ рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдереЗ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рджреЛрд╣рд░рд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛ред рдЬрдм рдиреЛрдб рд╡рд╛рдкрд╕ рдСрдирд▓рд╛рдЗрди рдЖрдпрд╛, рддреЛ GitLab рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реБрдЖ, рдФрд░ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреА рдкрдбрд╝реА рдпрд╛ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреА рдкрдбрд╝реАред рдЕрдиреНрдп рд╕реНрдерд┐рддрд┐рдпрд╛рдБ, рдЬреИрд╕реЗ рдХрд┐ рджреНрд╡рд┐рддреАрдпрдХ рдиреЛрдб рдкрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛рд░реНрдп рдХреА рд╡рд┐рдлрд▓рддрд╛, рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╛рд╕реА рдпрд╛ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЕрдЧрд▓рд╛ рд▓реЗрдЦрди рдСрдкрд░реЗрд╢рди рд╣реЛрдиреЗ рддрдХ рдкреБрд░рд╛рдирд╛ рдмрдирд╛ рд░рд╣рд╛, рдЬреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдпреЗ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдорд░рдореНрдордд рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдХрд┐рд╕реА рднреА рдирдП рдЧреАрддрд╛рд▓реА рдиреЛрдб рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рд╢реБрд░реВ рдХрд░ рджреЗрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдирдП рдиреЛрдбреНрд╕ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдореИрдиреНрдпреБрдЕрд▓ рдХрд╛рдо рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдбрд┐рдЬрд╝рд╛рдЗрди рдкреГрд╖реНрда рдкрд░ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
GitLab рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд╕рдВрдЪрд╛рд░ рдХрд╛рд░реНрдп рд╕реВрдЪрд┐рдпреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдкрд░ рддреБрд░рдВрдд рдкрд╣реБрдВрдЪрдиреЗ рдФрд░ рдХреБрдЫ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдпрд╛ рдЙрд╕реЗ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛ рддреЛ рдЦреБрдж рдХреЛ рдХреЛрдИ рдХрд╛рд░реНрдп рд╕реМрдВрдкрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдкрд╣рд▓реЗ, рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЖрдк рдХрд╛рд░реНрдп рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рдереЗ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗред рдЗрд╕рд╕реЗ рдЙрддреНрдкрд╛рдж рдЯреАрдореЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреА рджрдХреНрд╖рддрд╛ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдмрд╛рдзрд┐рдд рд╣реЛ рдЧрдИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдп GitLab рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡ рд╣реИрдВред
рд░рд┐рд▓реАрдЬрд╝ 13.4 рдореЗрдВ, рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЯрд┐рдХрдЯ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд▓реЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрдд рдФрд░ рдХреБрд╢рд▓ рдмрдирд╛рддрд╛ рд╣реИред
рд╕реАрдЖрдИ/рд╕реАрдбреА рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рд╣рдордиреЗ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде GitLab CI/CD рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдмреЗрд╣рддрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЖрдкрдХреЛ GitLab CI/CD рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓реНрдпрд╡рд╛рди рд╕рдВрд╕рд╛рдзрди рд╣реЛрдЧрд╛ред
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдЕрдм рдорд░реНрдЬ рдХрддрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдкрд╣рд▓реЗ, рджреЗрд░ рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рджреБрд░реНрдШрдЯрдирд╛рд╡рд╢ рдорд░реНрдЬ рдХрддрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддреЗ рдереЗред рдпрджрд┐ рдХреЛрдИ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрддрд╛рд░ рдореЗрдВ рдерд╛ рдФрд░ рдХрд┐рд╕реА рдиреЗ рдЙрд╕рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝ рджреА рдЬрд┐рд╕рд╕реЗ рдПрдХ рдирдИ рдЕрдирд╕реБрд▓рдЭреА рдЪрд░реНрдЪрд╛ рдкреИрджрд╛ рд╣реЛ рдЧрдИ, рддреЛ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХреЛ рдорд░реНрдЬ рдХреЗ рд▓рд┐рдП рдЕрдпреЛрдЧреНрдп рдорд╛рдирд╛ рдЧрдпрд╛ рдФрд░ рд╡рд╣ рдХрддрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрдм, рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХреЛ рдорд░реНрдЬ рдХрддрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдорд░реНрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдбрд░ рдХреЗ рдмрд┐рдирд╛ рдирдИ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╡рд░реЗрдЬ рдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдб рдХрд╡рд░реЗрдЬ рдорд╛рди рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬрдЯрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рднреА рдЬреИрд╕реЗ рдХрд┐ рдХрдИ рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд▓рд╛рдирд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдХрд╡рд░реЗрдЬ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкрд╣рд▓реЗ, рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рд╡рд┐рдЬреЗрдЯ рдХреЗрд╡рд▓ рдЗрди рдорд╛рдиреЛрдВ рдХрд╛ рдФрд╕рдд рджрд┐рдЦрд╛рддрд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рдерд╛ рдХрд┐ рдЖрдкрдХреЛ рдордзреНрдпрд╡рд░реНрддреА рдХрд╡рд░реЗрдЬ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреМрдХрд░реА рдкреГрд╖реНрда рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдкрдХрд╛ рд╕рдордп рдФрд░ рдЗрди рдЕрддрд┐рд░рд┐рдХреНрдд рдХрджрдореЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╡рд┐рдЬреЗрдЯ рдХреЛ рдФрд╕рдд рдХрд╡рд░реЗрдЬ рдореВрд▓реНрдп, рд▓рдХреНрд╖реНрдп рдФрд░ рд╕реНрд░реЛрдд рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЗрд╕рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдПрдХ рдЯреВрд▓рдЯрд┐рдк рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХрд╡рд░реЗрдЬ рдореВрд▓реНрдп рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдФрд╕рдд рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереАред
рдХрд┐рд╕реА рд╕рдореВрд╣ рдХреЛ рджреЗрдЦрддреЗ рд╕рдордп рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдкреИрдХреЗрдЬ рд╣рдЯрд╛рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
GitLab рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕реНрдерд╛рди рд╣реИред рдЬрдм рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдпрд╛ рд╕рдореВрд╣ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреИрдХреЗрдЬ рд╣реЛрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкреНрд░рдпреБрдХреНрдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рддреБрд░рдВрдд рдкрд╣рдЪрд╛рдирдиреЗ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдиреНрд╣реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдкреИрдХреЗрдЬ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрдм рдЖрдк рд╕рдореВрд╣ рдХреА рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рджреЗрдЦрддреЗ рд╕рдордп рдкреИрдХреЗрдЬ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╕ рд╕рдореВрд╣ рдХреЗ рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ, рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдирд╛рдо рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ, рдФрд░ рдЬреЛ рднреА рдкреИрдХреЗрдЬ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП рдЙрд╕реЗ рд╣рдЯрд╛ рджреЗрдВред
рдХреЙрдирди рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрддрд░ рдкрд░ рд╕реНрдХреЗрд▓ рдХрд░рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдЖрдк C/C++ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GitLab рдореЗрдВ рдХреЙрдирди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╣рд▓реЗ рдХреЗ рдкреИрдХреЗрдЬ рдХреЗрд╡рд▓ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реНрддрд░ рддрдХ рд╣реА рд╕реНрдХреЗрд▓ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рдХреЙрдирди рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдЕрдзрд┐рдХрддрдо 51 рдЕрдХреНрд╖рд░ рд╣реА рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЙрдкрд╕рдореВрд╣ рд╕реЗ рдХреЛрдИ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ gitlab-org/ci-cd/package-stage/feature-testing/conan
, рдРрд╕рд╛ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рдерд╛ред
рдЕрдм рдЖрдк рдХреЙрдирди рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрддрд░ рддрдХ рд╕реНрдХреЗрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдХреИрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирдП рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдФрд░ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
(рдкрд░рдо, рд╕реНрд╡рд░реНрдг)
рд╣рдо рд╣рдорд╛рд░реА рд╕реВрдЪреА рдореЗрдВ NuGet 4.9+ рдпрд╛ рдХреЙрдирди рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ C, C++, C# рдФрд░ .Net рдХреЛрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдХреИрди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реИрдВред
рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ 'рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░ рдорд░реНрдЬ' рдореЗрдВ рдмрджрд▓рдиреЗ рдкрд░ рд╕реВрдЪрдирд╛рдПрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдкрд╣рд▓реЗ, рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рд╕реЗрдЯрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рд▓рдп рдХрд░реЗрдВ (рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рд▓рдп, MWPS) рдХреЛрдИ рдИрдореЗрд▓ рд╕реВрдЪрдирд╛ рдирд╣реАрдВ рднреЗрдЬреА рдЧрдИ рдереАред рдЖрдкрдХреЛ рд╕реНрдерд┐рддрд┐ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдорд░реНрдЬ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рд╣реЛрдЧреАред рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдпреЛрдЧрджрд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдХреЗ рдкреНрд░рд╕рдиреНрди рд╣реИрдВ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдИрдХреЗрдПрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
GitLab рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдм Kubernetes рдХрд╛ рд╡рд╣ рд╕рдВрд╕реНрдХрд░рдг рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ EKS рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛; рдЖрдк рд╕рдВрд╕реНрдХрд░рдг 1.14-1.17 рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЯрд┐рдХрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдирд╛рдПрдВ рдмрдирд╛рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рд╕рдорд╕реНрдпрд╛ рддреБрд░рдВрдд рдЕрд▓рд░реНрдЯ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддреА: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдЙрдЯреЗрдЬ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдШрдЯрдирд╛рдПрдВ рдЕрдм рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЯрд┐рдХрдЯ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреА рдЯреАрдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рддреБрд░рдВрдд рдмрдирд╛ рд╕рдХрддреА рд╣реИрдВред рдХреНрд▓рд┐рдХ рдирдпрд╛ рдХрд╛рд░реНрдп GitLab рдФрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рдЯрд╛рдЗрдк рдЪреБрдирдирд╛ рдШрдЯрдирд╛.
рдорд╛рд░реНрдХрдбрд╛рдЙрди рдореЗрдВ GitLab рдЕрд▓рд░реНрдЯ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рд╣рдордиреЗ GitLab рдорд╛рд░реНрдХрдбрд╛рдЙрди рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЙрд▓реНрд▓реЗрдЦ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рдХрд░ GitLab рдЕрд▓рд░реНрдЯ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЕрд▓рд░реНрдЯ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдФрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ ^alert#1234
рдХрд┐рд╕реА рднреА рдорд╛рд░реНрдХрдбрд╛рдЙрди рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЕрд▓рд░реНрдЯ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдШрдЯрдирд╛рдУрдВ, рдЯрд┐рдХрдЯреЛрдВ, рдпрд╛ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдЙрди рдиреМрдХрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓реЗрдЧреА рдЬреЛ рдЯрд┐рдХрдЯ рдпрд╛ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдЕрд▓рд░реНрдЯ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВред
рдШрдЯрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрд▓рд░реНрдЯ рд▓реЛрдб рджреЗрдЦрдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдЕрд▓рд░реНрдЯ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдХрд┐рд╕реА рдШрдЯрдирд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдЯреВрд▓ рдпрд╛ рдЯреИрдм рд╕реНрд╡рд┐рдЪ рди рдХрд░рдирд╛ рдкрдбрд╝реЗред рдЕрд▓рд░реНрдЯ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдШрдЯрдирд╛рдПрдВ рдЯреИрдм рдореЗрдВ рдкреВрд░реНрдг рдЕрд▓рд░реНрдЯ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИрдВ рдЕрд▓рд░реНрдЯ рд╡рд┐рд╡рд░рдг.
75% рддреЗрдЬ рдЙрдиреНрдирдд рдЦреЛрдЬ
(рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдХрд╛рдВрд╕реНрдп, рд░рдЬрдд, рд╕реНрд╡рд░реНрдг)
GitLab, рдПрдХ рдПрдХрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЗ рд╕рдВрдкреВрд░реНрдг DevOps рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрджреНрд╡рд┐рддреАрдп рдХреНрд╖рдорддрд╛ рд░рдЦрддрд╛ рд╣реИред GitLab 13.4 рдореЗрдВ, рдЙрдиреНрдирдд рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо 75% рддреЗрдЬреА рд╕реЗ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдЯрд╛рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреЗрдЦрдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ)
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рд▓реЛрдкрди рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдерд╛
рдпрд╣ рдХреНрд╖рдорддрд╛ рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдПрдХрддреНрд░рд┐рдд рдХрд░рдХреЗ рдФрд░ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рд▓реЛрдкрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░реНрд╡рд╡рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рд▓реЛрдкрди рдкрд░ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж
рдПрдкреАрдЖрдИ рдореЗрдВ рд╕рдореВрд╣ рдкреБрд╢ рдирд┐рдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
(рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдХрд╛рдВрд╕реНрдп, рд░рдЬрдд, рд╕реНрд╡рд░реНрдг)
рдкрд╣рд▓реЗ, рд╕рдореВрд╣ рдкреБрд╢ рдирд┐рдпрдореЛрдВ рдХреЛ рдХреЗрд╡рд▓ GitLab UI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЬрд╛рдХрд░ рдФрд░ рдЙрди рдирд┐рдпрдореЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдЕрдм рдЖрдк рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдЯреВрд▓ рдФрд░ GitLab рдСрдЯреЛрдореЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрди рдирд┐рдпрдореЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрд╡-рдкреНрд░рдмрдВрдзрд┐рдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╣реБрдВрдЪ рдЯреЛрдХрди рдХреЛ рд░рджреНрдж рдХрд░рдирд╛
(рдЕрдВрддрд┐рдо)
рд╕реНрдереИрддрд┐рдХ рд╕рд╛рдЗрдЯ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
GitLab 13.4 рдореЗрдВ, рд╣рдо рд╕реНрдереИрддрд┐рдХ рд╕рд╛рдЗрдЯ рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирдпрд╛ рддрд░реАрдХрд╛ рдкреЗрд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдХреЛрдИ рднреА рд╕реЗрдЯрд┐рдВрдЧ рд╕рд╣реЗрдЬрддреА рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рд╣рдо рд╕рдВрдкрд╛рджрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдХреА рд░рд┐рд▓реАрдЬрд╝реЛрдВ рдореЗрдВ рд╣рдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ .gitlab/static-site-editor.yml
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░
рд╕реНрдереИрддрд┐рдХ рд╕рд╛рдЗрдЯ рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рднрд╛рдЧ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдлреНрд░рдВрдЯ рдореИрдЯрд░ рд╕реНрдЯреЗрдЯрд┐рдХ рд╕рд╛рдЗрдЯ рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреЗрдЬ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд▓рдЪреАрд▓рд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдо рддреМрд░ рдкрд░ рдкреГрд╖реНрда рд╢реАрд░реНрд╖рдХ, рд▓реЗрдЖрдЙрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ, рдпрд╛ рд▓реЗрдЦрдХ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди HTML рдореЗрдВ рдкреГрд╖реНрда рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╕рдордп рдЬрдирд░реЗрдЯрд░ рдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╢рд╛рдорд┐рд▓, рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рднрд╛рдЧ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ YAML рдпрд╛ JSON рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реБрд╕рдВрдЧрдд рдФрд░ рд╕рдЯреАрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдирд┐рдпрдореЛрдВ рд╕реЗ рдЕрдкрд░рд┐рдЪрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЕрдорд╛рдиреНрдп рдорд╛рд░реНрдХрдЕрдк рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрд╡рд░реВрдкрдг рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдпрд╛ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓рддрд╛ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред
рд╕реНрдереИрддрд┐рдХ рд╕рд╛рдЗрдЯ рд╕рдВрдкрд╛рджрдХ рдХрд╛ WYSIWYG рд╕рдВрдкрд╛рджрди рдореЛрдб рдЗрди рд╕реНрд╡рд░реВрдкрдг рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдкрд╛рджрдХ рд╕реЗ рдкрд░рд┐рдЪрдп рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдореЛрдб рдореЗрдВ рд╕рдВрдкрд╛рджрди рдкрд░ рд╡рд╛рдкрд╕ рдЖрдП рдмрд┐рдирд╛ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдорд╛рдиреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред GitLab 13.4 рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рднреА рдлрд╝реАрд▓реНрдб рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдорд╛рди рдХреЛ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рдлреЙрд░реНрдо-рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рд╕реЗрдЯрд┐рдВрдЧ) рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдПрдХ рдлреЙрд░реНрдо рдлрд╝реАрд▓реНрдб рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдкреИрдирд▓ рдЦреБрд▓реЗрдЧрд╛ред рдлрд╝реАрд▓реНрдб рд╡рд░реНрддрдорд╛рди рдорд╛рди рд╕реЗ рднрд░реЗ рд╣реБрдП рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╡реЗрдм рдлреЙрд░реНрдо рдореЗрдВ рджрд░реНрдЬ рдХрд░рдиреЗ рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдкрдирд╛ рдкрд░рд┐рдЪрдп рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЬрдЯрд┐рд▓ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рд╛рд░реВрдкрд┐рдд рд╣реИ, рдЖрдкрдХреЛ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдорд┐рд▓рддрд╛ рд╣реИред
рдЬрд┐рд░рд╛ рдФрд░ рдбреАрд╡реАрд╕реАрдПрд╕ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП GitLab рдЕрдм рдХреЛрд░ рдореЗрдВ рд╣реИ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
GitLab рдкрд░ рдЬрд┐рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП:
рдпреЗ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдереАрдВ, рд▓реЗрдХрд┐рди рдЕрдм рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ!
рдЧреАрддрд╛рд▓реА рдХреНрд▓рд╕реНрдЯрд░ рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдордд рдорддрджрд╛рди (рдмреАрдЯрд╛)
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ)
рдПрдХ рдЧреАрддрд╛рд▓реА рдХреНрд▓рд╕реНрдЯрд░ рдЖрдкрдХреЛ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХрдИ "рд╡рд╛рд░реНрдо" рдЧреАрддрд╛рд▓реА рдиреЛрдбреНрд╕ рдореЗрдВ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдПрдХрд▓ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рджреЛрд╖ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
рдмрд╣реБрд╕рдВрдЦреНрдпрдХ рдорддрджрд╛рди рдбрд┐рд╕реНрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рд╣реЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдиреЛрдбреНрд╕ (рд╕рднреА рдирд╣реАрдВ) рдХреА рд╕рд╣рдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рджреЛрд╖ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЯреЙрдЧрд▓ рд╕реБрд╡рд┐рдзрд╛ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рд▓реЗрдЦрди рдПрдХрд╛рдзрд┐рдХ рдиреЛрдбреНрд╕ рдкрд░ рд╕рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрд╕рд╣рдордд рдиреЛрдбреНрд╕ рдХреЛ рдЙрди рдиреЛрдбреНрд╕ рд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдХреЛрд░рдо рдмрдирд╛рдпрд╛ рд╣реИред
рд╡реЗрдм рдЖрдИрдбреАрдИ рдореЗрдВ JSON рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рд╕реНрдХреАрдорд╛ рд╕рдорд░реНрдерди
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рд╕рд┐рд▓реНрд╡рд░, рдЧреЛрд▓реНрдб)
рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рдЬрд╣рд╛рдБ рд▓реЛрдЧ JSON рдпрд╛ YAML рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЕрдХреНрд╕рд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЦрддрд░рд╛ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдкреЛ рддреНрд░реБрдЯрд┐ рдХрд░рдирд╛ рдФрд░ рдХреБрдЫ рддреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рд╕реАрдЖрдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рд╕рдВрдХреЗрдд рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП JSON рд╕реНрдХреАрдорд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рддрд┐рднрд╛рдЧреА рдЕрдкрдиреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд╕реНрдЯрдо рд╕реНрдХреАрдорд╛ рдХреЗ рдкрде рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ .gitlab/.gitlab-webide.yml
, рдЬреЛ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреАрдорд╛ рдФрд░ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡реЗрдм рдЖрдИрдбреАрдИ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕рддреНрдпрд╛рдкрди рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
рдбрд╛рдпрд░реЗрдХреНрдЯреЗрдб рдПрд╕рд╛рдЗрдХреНрд▓рд┐рдХ рдЧреНрд░рд╛рдлрд╝ (рдбреАрдПрдЬреА) рд╢рд╛рдЦрд╛ рд╕реАрдорд╛ рдХреЛ рдмрдврд╝рд╛рдХрд░ 50 рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдпрджрд┐ рдЖрдк рдХрдиреНрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ needs:
, рдмрд╣реБрдд рдХрдареЛрд░ред 13.4 рдореЗрдВ, рдЖрдкрдХреА рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛ 10 рд╕реЗ рдмрдврд╝рд╛рдХрд░ 50 рдХрд░ рджреА рдЧрдИ рдереАред
рдпрджрд┐ рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо GitLab рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╣реИрдВ, рддреЛ рдЖрдк рдЯреЙрдЧрд▓ рд╕реБрд╡рд┐рдзрд╛ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
╨Ф╨╛╨║╤Г╨╝╨╡╨╜╤В╨░╤Ж╨╕╤П ╨┐╨╛ ╨╜╨░╤Б╤В╤А╨╛╨╣╨║╨╡ needs:
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реБрдзрд╛рд░ needs
рдЫреВрдЯреЗ рд╣реБрдП рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЫреВрдЯреЗ рд╣реБрдП рдХрд╛рд░реНрдп рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдлрд▓ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ needs
, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдмрд╛рдж рдХреА рдиреМрдХрд░рд┐рдпрд╛рдБ рдЪрд▓рдиреЗ рд▓рдЧреАрдВ, рдЬреЛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдереАрдВред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдВрд╕реНрдХрд░рдг 13.4 рдореЗрдВ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ needs
рдЕрдм рдЫреВрдЯреЗ рд╣реБрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред
╨Ф╨╛╨║╤Г╨╝╨╡╨╜╤В╨░╤Ж╨╕╤П ╨┐╨╛ ╨╜╨░╤Б╤В╤А╨╛╨╣╨║╨╡ needs
рдЕрдВрддрд┐рдо рдЦреЛрдЬ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЛ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рдкрд┐рди рдХрд░реЗрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
GitLab рдЕрдм рдХрд┐рд╕реА рднреА рд╕рдХреНрд░рд┐рдп рд╢рд╛рдЦрд╛, рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз, рдпрд╛ рдЯреИрдЧ рдкрд░ рдЕрдВрддрд┐рдо рд╕рдлрд▓ рдХрд╛рд░реНрдп рдФрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЛ рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдХ рдХрд░ рджреЗрддрд╛ рд╣реИред рдкреБрд░рд╛рдиреА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рд╕рдорд╛рдкреНрддрд┐ рдирд┐рдпрдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреА рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдирд╡реАрдирддрдо рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реЛред
рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╕реАрдЖрдИ/рд╕реАрдбреА рдЧрд╛рдЗрдб
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдЕрдкрдиреА рд╕реАрдЖрдИ/рд╕реАрдбреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреИрд╕реЗ рдХреА рдмрдЪрдд рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рдордиреЗ рдЖрдкрдХреА рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рд╕реЗ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдг рд░рд┐рдкреЛрд░реНрдЯ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рд╕реАрдорд╛рдПрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдЕрдм рдкреИрдХреЗрдЬ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рд╕реАрдорд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ GitLab рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рджреБрд░реБрдкрдпреЛрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрдВрдз рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВред рдкреИрдХреЗрдЬ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реАрдорд╛рдПрдБ рднрд┐рдиреНрди-рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИрдВред GitLab.com рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХрддрдо рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рд╣реИрдВ:
- рдХреЙрдирди: 250рдПрдордмреА
- рдореЗрд╡реЗрди: 3 рдЬреАрдмреА
- рдПрдирдкреАрдПрдо: 300 рдПрдордмреА
- рдиреБрдЧреЗрдЯ: 250 рдПрдордмреА
- рдкреАрдИрдкреАрдЖрдИ: 3 рдЬреАрдмреА
рдХрд╕реНрдЯрдо GitLab рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдорд╛рди рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрджреНрдпрддрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ
PyPI рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CI_JOB_TOKEN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде Python рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ, рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GitLab PyPI рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╣рд▓реЗ рдЖрдк рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗ CI_JOB_TOKEN
. рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХреЛ PyPI рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реЛред
рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PyPI рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GitLab CI/CD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдм рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИ CI_JOB_TOKEN
.
рдЕрдиреБрд░реЛрдз рдкрд░ DAST рд╕реНрдХреИрдирд░ рдкреНрд░реЛрдлрд╛рдЗрд▓
(рдкрд░рдо, рд╕реНрд╡рд░реНрдг)
рдСрди-рдбрд┐рдорд╛рдВрдб DAST рд╕реНрдХреИрди рдЬреЛ рдерд╛
GitLab рдкреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдпрджрд┐ рдЖрдк GitLab Pages рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ URL рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреА GitLab Pages рд╕рд╛рдЗрдЯ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред GitLab рдЕрдм рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдХрд░ рдЕрдкрдиреА рдкреЗрдЬ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ URL рдХреЛ рджреВрд╕рд░реЗ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреЗрд╡рд┐рди рдмрд╛рд░реНрдиреЗрдЯ рдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рдХрд╛рд░рдг рд╕рдВрднрд╡ рд╣реБрдИ рд╣реИ (
рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд░рд╛рдЬреНрдп рдХрд╛ рдкреНрд░рдмрдВрдзрди GitLab рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЕрдиреБрдкрд╛рд▓рди рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд░рд╛рдЬреНрдп рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдЖрд╡рд╢реНрдпрдХ рд╣реИред GitLab рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд░рд╛рдЬреНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди GitLab 13.4 рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирдИ рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рд╕реНрдерд┐рддрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред рдореМрдЬреВрджрд╛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд░рд╛рдЬреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрдВрдЧреА
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╡рд┐рд╡рд░рдг
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрд▓рд░реНрдЯ рдХрд┐рддрдиреА рджреЗрд░ рддрдХ рдЦреБрд▓рд╛ рдерд╛ рдФрд░ рдШрдЯрдирд╛ рдХрд┐рддрдиреА рдмрд╛рд░ рдЯреНрд░рд┐рдЧрд░ рд╣реБрдИ рдереАред рдЧреНрд░рд╛рд╣рдХ рдкрд░ рдкреНрд░рднрд╛рд╡ рдФрд░ рдЖрдкрдХреА рдЯреАрдо рдХреЛ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдпреЗ рд╡рд┐рд╡рд░рдг рдЕрдХреНрд╕рд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВред рдирдП рдШрдЯрдирд╛ рд╡рд┐рд╡рд░рдг рдкреИрдирд▓ рдореЗрдВ, рд╣рдо рдЕрд▓рд░реНрдЯ рдкреНрд░рд╛рд░рдВрдн рд╕рдордп, рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдореВрд▓ рдЕрд▓рд░реНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЙрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬреЛ рдЕрд▓рд░реНрдЯ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред
рдШрдЯрдирд╛ рдЧрдВрднреАрд░рддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
рдШрдЯрдирд╛ рдХреА рдЧрдВрднреАрд░рддрд╛ рдЖрдпрд╛рдо рдЙрддреНрддрд░рджрд╛рддрд╛рдУрдВ рдФрд░ рд╣рд┐рддрдзрд╛рд░рдХреЛрдВ рдХреЛ рдЖрдЙрдЯреЗрдЬ рдХреЗ рдкреНрд░рднрд╛рд╡, рд╕рд╛рде рд╣реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╡рд┐рдзрд┐ рдФрд░ рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдЖрдкрдХреА рдЯреАрдо рдШрдЯрдирд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рджреМрд░рд╛рди рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдЭрд╛ рдХрд░рддреА рд╣реИ, рд╡реЗ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдЖрдк рдШрдЯрдирд╛ рд╡рд┐рд╡рд░рдг рдкреГрд╖реНрда рдХреЗ рджрд╛рд╣рд┐рдиреЗ рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рдХрд┐рд╕реА рдШрдЯрдирд╛ рдХреА рдЧрдВрднреАрд░рддрд╛ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЧрдВрднреАрд░рддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред
рдХрдВрдЯреЗрдирд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдо рдмрдирд╛рдирд╛, рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛
(рдкрд░рдо, рд╕реНрд╡рд░реНрдг)
рдХрдВрдЯреЗрдирд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдо рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдпрд╣ рд╡реГрджреНрдзрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реАрдзреЗ GitLab рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЕрдкрдиреЗ рдирд┐рдпрдо рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдирд╛рдиреЗ, рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╕рдВрдкрд╛рджрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ .yaml
рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдореЛрдВ рдореЗрдВ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рдЬ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд╛рд▓рд╛ рдПрдХ рдирд┐рдпрдо рд╕рдВрдкрд╛рджрдХред рдЖрдк рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдирдП рдирд┐рдпрдо рдкреНрд░рдмрдВрдзрди рд╡рд┐рдХрд▓реНрдк рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЕрдиреБрдкрд╛рд▓рди > рдЦрддрд░рд╛ рдкреНрд░рдмрдВрдзрди > рдирд┐рдпрдо (рд╕реБрд░рдХреНрд╖рд╛ рдПрд╡рдВ рдЕрдиреБрдкрд╛рд▓рди > рдЦрд╝рддрд░рд╛ рдкреНрд░рдмрдВрдзрди > рдиреАрддрд┐рдпрд╛рдБ).
Azure рдмреНрд▓реЙрдм рднрдВрдбрд╛рд░рдг рд╕рдорд░реНрдерди
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ, рдореБрдлрд╝реНрдд, рдХрд╛рдВрд╕реНрдп, рдЪрд╛рдВрджреА, рд╕реЛрдирд╛)
GitLab рдФрд░ GitLab Runner рджреЛрдиреЛрдВ рдЕрдм рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ
GitLab рдЗрдВрд╕реНрдЯреЗрдВрд╕ LFS рдлрд╝рд╛рдЗрд▓реЛрдВ, CI рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рд╕рд╣рд┐рдд рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП Azure рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
GitLab рдЬреЙрдм рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП Azure рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ [runners.cache.azure]
рдЙрдмрдВрдЯреВ рдФрд░ рдУрдкрдирдПрд╕рдпреВрдПрд╕рдИ рдХреЗ рд▓рд┐рдП рдСрдореНрдирд┐рдмрд╕ ARM64 рдкреИрдХреЗрдЬ
(рдХреЛрд░, рд╕реНрдЯрд╛рд░реНрдЯрд░, рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ)
64-рдмрд┐рдЯ рдПрдЖрд░рдПрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЧрд┐рдЯрд▓реИрдм рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдмрдврд╝рддреА рдорд╛рдВрдЧ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, рд╣рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдПрдЖрд░рдПрдо64 рдЙрдмрдВрдЯреВ 20.04 рдУрдореНрдирд┐рдмрд╕ рдкреИрдХреЗрдЬ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред рдЬрд╝рд┐рддрд╛рдИ рдЪреЗрди рдФрд░ рдЧреБрдЗрд▓рд╛рдЙрдо рдЧрд╛рд░реНрдбреЗрдЯ рдХреЛ рдЙрдирдХреЗ рдорд╣рд╛рди рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж - рдЙрдирдХреЗ рд╡рд┐рд▓рдп рдЕрдиреБрд░реЛрдзреЛрдВ рдиреЗ рдЗрд╕рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдИ!
Ubuntu 20.04 рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рдЬрд╛рдПрдВ Ubuntu
.
GitLab рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдорд░реНрдерди
(рдкреНрд░реАрдорд┐рдпрдо, рдЕрд▓реНрдЯреАрдореЗрдЯ)
рдХреЙрдорди рдПрдХреНрд╕реЗрд╕ рдХрд╛рд░реНрдб (рд╕реАрдПрд╕реА) рдЬреИрд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдм рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреИрдирд╛рдд рдЧрд┐рдЯрд▓реИрдм рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рдХреЛ X.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдкреНрд░рдорд╛рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде, рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рд╕рдорд░реНрдерди рдЕрдм рдУрдореНрдирд┐рдмрд╕ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рд╕рдорд░реНрдерди рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред
рд╡рд┐рд╕реНрддреГрдд рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕ рдФрд░ рдЕрдкрдбреЗрдЯ/рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рдореВрд▓ рдЕрдВрдЧреНрд░реЗрдЬреА рдкреЛрд╕реНрдЯ рдореЗрдВ рдкрдврд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рд╣рдо рдЕрдВрдЧреНрд░реЗрдЬреА рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдереЗ
рд╕реНрд░реЛрдд: www.habr.com