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