рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧрд╛рдЗрдб: рдПрдХ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

рдпрджрд┐ рддрдкрд╛рдЗрдБ DevOps рдорд╛ рдирдпрд╛рдБ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБрдХреЛ рдкрд╣рд┐рд▓реЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдпреЛ рдкрд╛рдБрдЪ-рдЪрд░рдг рдЧрд╛рдЗрдб рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред

рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧрд╛рдЗрдб: рдПрдХ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

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

рдореЗрд░реЛ DevOps рдпрд╛рддреНрд░рд╛

рдореИрд▓реЗ рдпрд╕рдЕрдШрд┐ Citi рдХреЛ рдХреНрд▓рд╛рдЙрдб рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░-рдПрдЬ-рдП-рд╕рд░реНрднрд┐рд╕ (IaaS) рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ Citi Group рдХреНрд▓рд╛рдЙрдб рдЯреЛрд▓реАрдорд╛ рдХрд╛рдо рдЧрд░реЗрдХреЛ рдерд┐рдПрдБ, рддрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдХрд╕рд░реА рдЕрдЭ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рдмрдирд╛рдЙрдиреЗ рд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рд╛рдВрд╕реНрдХреГрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд▓реНрдпрд╛рдЙрдиреЗ рднрдиреНрдиреЗрдорд╛ рдо рд╕рдзреИрдВ рдЪрд╛рд╕реЛ рд░рд╛рдЦреНрдереЗрдВред рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАред рдореИрд▓реЗ Citi рдорд╛ рдХреНрд▓рд╛рдЙрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд░ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░рдХрд╛ CTO, рдЧреНрд░реЗрдЧ рд▓реИрднреЗрдиреНрдбрд░рд▓реЗ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реЗрдХреЛ рдкреБрд╕реНрддрдХрдорд╛ рдЬрд╡рд╛рдл рдлреЗрд▓рд╛ рдкрд╛рд░реЗред рдкреБрд╕реНрддрдХрд▓рд╛рдИ рдж рдлрд┐рдирд┐рдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рднрдирд┐рдиреНрдЫ (рдлреАрдирд┐рдХреНрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛), рд░ рдпрд╕рд▓реЗ DevOps рдХреЛ рд╕рд┐рджреНрдзрд╛рдиреНрддрд╣рд░реВ рдмрддрд╛рдЙрдБрдЫ, рддрд░ рдпреЛ рдЙрдкрдиреНрдпрд╛рд╕ рдЬрд╕реНрддреИ рдкрдвреНрдЫред

рдкреБрд╕реНрддрдХрдХреЛ рдкрдЫрд╛рдбрд┐рдХреЛ рддрд╛рд▓рд┐рдХрд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдХрдореНрдкрдиреАрд╣рд░реВрд▓реЗ рдЖрдлреНрдиреЛ рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рд░рд┐рд▓реАрдЬ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдХрддрд┐ рдкрдЯрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреН рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдБрдЫ:

Amazon: 23 рдкреНрд░рддрд┐ рджрд┐рди
рдЧреБрдЧрд▓: 5 рдкреНрд░рддрд┐ рджрд┐рди
Netflix: 500 рдкреНрд░рддрд┐ рджрд┐рди
рдлреЗрд╕рдмреБрдХ: рджрд┐рдирдорд╛ рдПрдХ рдкрдЯрдХ
рдЯреНрд╡рд┐рдЯрд░: рд╣рдкреНрддрд╛рдорд╛ 3 рдкрдЯрдХ
рд╕рд╛рдорд╛рдиреНрдп рдХрдореНрдкрдиреА: рдкреНрд░рддреНрдпреЗрдХ 9 рдорд╣рд┐рдирд╛рдорд╛ рдПрдХ рдкрдЯрдХ

рдЕрдореЗрдЬрди, рдЧреБрдЧрд▓ рд░ рдиреЗрдЯрдлреНрд▓рд┐рдХреНрд╕ рдлреНрд░рд┐рдХреНрд╡реЗрдиреНрд╕реАрд╣рд░реВ рдХрд╕рд░реА рд╕рдореНрднрд╡ рдЫрдиреН? рдпреЛ рдХрд┐рдирднрдиреЗ рдпреА рдХрдореНрдкрдиреАрд╣рд░реВрд▓реЗ рд▓рдЧрднрдЧ рд╕рд┐рджреНрдз DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╕рд░реА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдПрдХрд╛ рдЫрдиреНред

рд╣рд╛рдореАрд▓реЗ Citi рдорд╛ DevOps рд▓рд╛рдЧреВ рдирдЧрд░реЗрд╕рдореНрдо рд╣рд╛рдореА рдпрд╕рдмрд╛рдЯ рдЯрд╛рдврд╛ рдерд┐рдпреМрдВред рддреНрдпрд╕рдмреЗрд▓рд╛, рдореЗрд░реЛ рдЯреЛрд▓реАрд╕рдБрдЧ рдлрд░рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдерд┐рдпреЛ, рддрд░ рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрднрд░рдорд╛ рддреИрдирд╛рддреА рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рдерд┐рдпреЛред рд╕рдмреИ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ IBM WebSphere рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрднрд░ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдорд╛рддреНрд░ рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрднрд░рдорд╛ рдкрд╣реБрдБрдЪ рдЧрд░реЗрдХрд╛ рдерд┐рдПред рд╕рдорд╕реНрдпрд╛ рдпреЛ рдерд┐рдпреЛ рдХрд┐ рд╕рд░реНрднрд░ рдмрдиреНрдж рд╣реБрдиреЗрдЫ рдЬрдм рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдПрдХреИ рд╕рдордпрдорд╛ рдбрд┐рдкреНрд▓реЛрдЗ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реЗ, рддреНрдпрд╕реИрд▓реЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдПрдХрдЕрд░реНрдХрд╛рд▓рд╛рдИ рдЖрдлреНрдиреЛ рдордирд╕рд╛рдп рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛ, рдЬреБрди рдзреЗрд░реИ рдкреАрдбрд╛ рдерд┐рдпреЛред рдердк рд░реВрдкрдорд╛, рдирд┐рдореНрди-рд╕реНрддрд░ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХрднрд░реЗрдЬ, рдмреЛрдЭрд┐рд▓реЛ рдореНрдпрд╛рдиреБрдЕрд▓ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ, рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рд╡рд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдХрдерд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреЛрдбрдХреЛ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рдЕрд╕рдХреНрд╖рдорддрд╛рдХрд╛ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдерд┐рдПред

рдореИрд▓реЗ рдХреЗрд╣рд┐ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреНрдиреЗ рдорд╣рд╕реБрд╕ рдЧрд░реЗрдВ рд░ рдПрдХ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛рдХреЛ рд╕рд╣рдХрд░реНрдореА рднреЗрдЯреНрдЯрд╛рдПрдБред рд╣рд╛рдореАрд▓реЗ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд╕рд╣рдпреЛрдЧ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНтАНрдпреМрдВ - рдореИрд▓реЗ рдЬреЗрдиреНрдХрд┐рдиреНрд╕, рдПрдХреАрдХреГрдд Atlassian Jira рд░ BitBucket рдорд╛ рдХрд╛рдо рдЧрд░реНрджрд╛ рдЙрдирд▓реЗ рдПрдХ Tomcat рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рд░ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд╕рд░реНрднрд░ рд╕реЗрдЯрдЕрдк рдЧрд░реЗ рд░ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХрднрд░реЗрдЬрдорд╛ рдХрд╛рдо рдЧрд░реЗред рдпреЛ рд╕рд╛рдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдзреЗрд░реИ рд╕рдлрд▓ рдерд┐рдпреЛ: рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд▓рдЧрднрдЧ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрдпреМрдВ, рд╣рд╛рдореНрд░реЛ рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрднрд░рдорд╛ рд▓рдЧрднрдЧ 100% рдЕрдкрдЯрд╛рдЗрдо рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНтАНрдпреМрдВ, рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рдкреНрд░рджрд╛рди рдЧрд░реНтАНрдпреМрдВ рд░ рдХреЛрдбрдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрднрд░реЗрдЬ рд╕реБрдзрд╛рд░ рдЧрд░реНтАНрдпреМрдВ, рд░ Git рд╢рд╛рдЦрд╛рд╣рд░реВрд▓рд╛рдИ рдЬрд┐рд░рд╛ рдореБрджреНрджрд╛рд╣рд░реВ рд╡рд╛ рддреИрдирд╛рддреАрд╣рд░реВрдорд╛ рд▓рд┐рдЩреНрдХ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкреНрдпреМрдВред рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдХрд░рдгрд╣рд░реВ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдерд┐рдПред

рдЕрдм рдо рдмреБрдЭреНрдЫреБ рдХрд┐ рд╣рд╛рдореНрд░реЛ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрддрд┐ рд╕рд░рд▓ рдерд┐рдпреЛ: рд╣рд╛рдореАрд▓реЗ рдЬреЗрдирдХрд┐рдиреНрд╕ рдлрд╛рдЗрд▓рд╣рд░реВ рд╡рд╛ рдЙрддреНрддрд░рджрд╛рдпреА рдЬрд╕реНрддрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдиреМрдВред рдпрджреНрдпрдкрд┐, рдпреЛ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд▓реЗ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдпреЛ, рд╕рд╛рдпрдж Pareto рд╕рд┐рджреНрдзрд╛рдиреНрддрдХреЛ рдХрд╛рд░рдгрд▓реЗ (80/20 рдирд┐рдпрдо рдкрдирд┐ рднрдирд┐рдиреНрдЫ)ред

DevOps рд░ CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░рд┐рдЪрдп

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдзреЗрд░реИ рдорд╛рдирд┐рд╕рд╣рд░реВрд▓рд╛рдИ рд╕реЛрдзреНрдиреБрднрдпреЛ рднрдиреЗ, "DevOps рдХреЗ рд╣реЛ?", рддрдкрд╛рдИрдВрд▓реЗ рд╕рд╛рдпрдж рдзреЗрд░реИ рдлрд░рдХ рдЬрд╡рд╛рдлрд╣рд░реВ рдкрд╛рдЙрдиреБрд╣реБрдиреЗрдЫред DevOps, Agile рдЬрд╕реНрддреИ, рдзреЗрд░реИ рдлрд░рдХ рд╡рд┐рд╖рдпрд╣рд░реВ рдлреИрд▓рд╛рдЙрди рд╡рд┐рдХрд╕рд┐рдд рднрдПрдХреЛ рдЫ, рддрд░ рдзреЗрд░реИ рдорд╛рдирд┐рд╕рд╣рд░реВ рдХреЗрд╣реА рдХреБрд░рд╛рд╣рд░реВрдорд╛ рд╕рд╣рдордд рд╣реБрдиреЗрдЫрдиреН: DevOps рдПрдХ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдЕрднреНрдпрд╛рд╕ рд╡рд╛ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдЬреАрд╡рди рдЪрдХреНрд░ (SDLC) рд╣реЛ рдЬрд╕рдХреЛ рдХреЗрдиреНрджреНрд░реАрдп рд╕рд┐рджреНрдзрд╛рдиреНрддрд▓реЗ рд╕рдВрд╕реНрдХреГрддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рдЬрд╕рдорд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рд░ рдЧреИрд░- рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫрдиреН рдЬрд╕рдорд╛:

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

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

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

рдЪрд░рдг 1: CI/CD рд╡рд┐рдзрд┐рд╣рд░реВ

рддрдкрд╛рдИрд▓рд╛рдИ рдЪрд╛рд╣рд┐рдиреЗ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛ CI/CD рдЙрдкрдХрд░рдг рд╣реЛред рдЬреЗрдирдХрд┐рдиреНрд╕, рдЬрд╛рднрд╛рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЙрдкрдХрд░рдг рд░ MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд, DevOps рд▓рд╛рдИ рд▓реЛрдХрдкреНрд░рд┐рдп рдмрдирд╛рдЙрдиреЗ рдЙрдкрдХрд░рдг рд╣реЛ рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рднрдПрдХреЛ рдЫред

рддреНрдпрд╕реЛрднрдП рдЬреЗрдирдХрд┐рдиреНрд╕ рдХреЗ рд╣реЛ? рдпрд╕рд▓рд╛рдИ рдХреЗрд╣рд┐ рдкреНрд░рдХрд╛рд░рдХреЛ рдЬрд╛рджреБрдИ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд░рд┐рдореЛрдЯ рдХрдиреНрдЯреНрд░реЛрд▓рдХреЛ рд░реВрдкрдорд╛ рд╕реЛрдЪреНрдиреБрд╣реЛрд╕реН рдЬрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рд╣рд░реВ рд░ рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдХреБрд░рд╛ рдЧрд░реНрди рд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫред рдЖрдлреНрдиреИ рдорд╛, рдЬреЗрдирдХрд┐рдиреНрд╕ рдЬрд╕реНрддреИ CI/CD рдЙрдкрдХрд░рдг рдмреЗрдХрд╛рд░ рдЫ, рддрд░ рдпреЛ рдзреЗрд░реИ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реБрдиреНрдЫ рдХрд┐рдирдХрд┐ рдпрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдг рд░ рд╕реЗрд╡рд╛рд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджрдЫред

Jenkins рдзреЗрд░реИ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд CI/CD рдЙрдкрдХрд░рдгрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдорд╛рддреНрд░ рд╣реЛ рдЬреБрди рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдЬреЗрдирдХрд┐рдиреНрд╕: рдХреНрд░рд┐рдПрдЯрд┐рдн рдХрдордиреНрд╕ рд░ рдПрдордЖрдИрдЯреА
рдЯреНрд░рд╛рднрд┐рд╕ рд╕реАрдЖрдИ: рдПрдордЖрдИрдЯреА
рдХреНрд░реВрдЬ рдХрдиреНрдЯреНрд░реЛрд▓: BSD
рдмрд┐рд▓реНрдбрдмреЛрдЯ: GPL
Apache Gump: Apache 2.0
рдХреЗрдмреА: GNU

CI/CD рдЙрдкрдХрд░рдгрд╕рдБрдЧ DevOps рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫрдиреН рднрдиреНрдиреЗ рдХреБрд░рд╛ рдпрд╣рд╛рдБ рдЫ:

рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧрд╛рдЗрдб: рдПрдХ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

рддрдкрд╛рдЗрдБрд╕рдБрдЧ рддрдкрд╛рдЗрдБрдХреЛ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯрдорд╛ CI/CD рдЙрдкрдХрд░рдг рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫ, рддрд░ рддрдкрд╛рдЗрдБ рдпрд╕ рд╕рдордпрдорд╛ рдЧрд░реНрди рд╕рдХреНрдиреЗ рдзреЗрд░реИ рдЫреИрдиред DevOps рдпрд╛рддреНрд░рд╛рдХреЛ рдЕрд░реНрдХреЛ рдЪрд░рдгрдорд╛ рдЬрд╛рдФрдВред

рдЪрд░рдг 2: рд╕реНрд░реЛрдд рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН

рддрдкрд╛рдИрдХреЛ CI/CD рдЙрдкрдХрд░рдгрд▓реЗ рдпрд╕рдХреЛ рдЬрд╛рджреВ рдЧрд░реНрди рд╕рдХреНрдЫ рднрдиреЗрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдиреЗ рдЙрддреНрддрдо (рд░ рд╕рд╛рдпрдж рд╕рдЬрд┐рд▓реЛ) рддрд░рд┐рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдирд┐рдпрдиреНрддреНрд░рдг (SCM) рдЙрдкрдХрд░рдгрд╕рдБрдЧ рдПрдХреАрдХреГрдд рдЧрд░реНрдиреБ рд╣реЛред рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрд┐рди рд╕реНрд░реЛрдд рдирд┐рдпрдиреНрддреНрд░рдг рдЪрд╛рд╣рд┐рдиреНрдЫ? рдорд╛рдиреМрдВ рддрдкрд╛рдИрдВ рдПрдЙрдЯрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫред рдЬрдм рддрдкрд╛рдЗрдБ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдЗрдБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ, рд░ рддрдкрд╛рдЗрдБ Java, Python, C++, Go, Ruby, JavaScript, рд╡рд╛ рд▓рд╛рдЦреМрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВ рдордзреНрдпреЗ рдХреБрдиреИ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рдлрд░рдХ рдкрд░реНрджреИрдиред рддрдкрд╛рдИрд▓реЗ рд▓реЗрдЦреНрдиреБ рднрдПрдХреЛ рдХреЛрдбрд▓рд╛рдИ рд╕реНрд░реЛрдд рдХреЛрдб рднрдирд┐рдиреНрдЫред рд╕реБрд░реБрдорд╛, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЬрдм рддрдкрд╛рдИрдВ рдПрдХреНрд▓реИ рдХрд╛рдо рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ, рдпреЛ рд╕рдореНрднрд╡рддрдГ рд╕реНрдерд╛рдиреАрдп рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рд╕рдмреИ рдХреБрд░рд╛ рд░рд╛рдЦреНрди рдареАрдХ рдЫред рддрд░ рдЬрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдареВрд▓реЛ рд╣реБрдБрджреИ рдЬрд╛рдиреНрдЫ рд░ рддрдкрд╛рдИрдВрд▓реЗ рдЕрдиреНрдп рдорд╛рдирд┐рд╕рд╣рд░реВрд▓рд╛рдИ рд╕рд╣рдпреЛрдЧ рдЧрд░реНрди рдЖрдордиреНрддреНрд░рд┐рдд рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рд░реВрдкрдорд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрдирд╣рд░реВ рд╕рд╛рдЭреЗрджрд╛рд░реА рдЧрд░реНрджрд╛ рджреНрд╡рдиреНрджреНрд╡рд╣рд░реВ рд░реЛрдХреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рддрд░рд┐рдХрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫред рддрдкрд╛рдИрд▓рд╛рдИ рдЕрдШрд┐рд▓реНрд▓реЛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдкрдирд┐ рдЪрд╛рд╣рд┐рдиреНрдЫ, рдХрд┐рдирдХрд┐ рдмреНрдпрд╛рдХрдЕрдкрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреЗ/рдЯрд╛рдБрд╕реНрдиреЗ рдХрд╛рд░реНрдп рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реБрдБрджреИ рдЧрдЗрд░рд╣реЗрдХреЛ рдЫред рддрдкрд╛рдЗрдБ (рд░ рддрдкрд╛рдЗрдБрдХреЛ рдЯреЛрд▓реАрдХрд╛ рд╕рд╛рдереАрд╣рд░реВрд▓рд╛рдИ) рдХреЗрд╣рд┐ рд░рд╛рдореНрд░реЛ рдЪрд╛рд╣рд┐рдиреНрдЫред

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

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

Git: GPLv2 рд░ LGPL v2.1
рд╕рдмрд╡рд░реНрд╕рди: Apache 2.0
рд╕рдорд╡рд░реНрддреА рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА (CVS): GNU
Vesta: LGPL
Mercurial: GNU GPL v2+

рд╕реНрд░реЛрдд рдХреЛрдб рдирд┐рдпрдиреНрддреНрд░рдгрд╣рд░реВ рдердкреНрджрд╛ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред

рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧрд╛рдЗрдб: рдПрдХ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

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

рдЪрд░рдг 3: рдмрд┐рд▓реНрдб рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН

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

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

рд╢реАрд░реНрд╖рдХ
рд▓рд╛рдЗрд╕реЗрдиреНрд╕
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛

Maven
рдЕрдкрд╛рдЪреЗ 2.0
Java

рдПрдиреНрдЯ
рдЕрдкрд╛рдЪреЗ 2.0
Java

рдЧреНрд░реНрдпрд╛рдбрд▓
рдЕрдкрд╛рдЪреЗ 2.0
Java

рдмрдЬреЗрд▓
рдЕрдкрд╛рдЪреЗ 2.0
Java

рдмрдирд╛рдЙрди
GNU
N /

рдЖрд╡рд╛рдЬ рдирд┐рдХрд╛рд▓реНрдиреБ
рдПрдордЖрдИрдЯреА
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдЧрд▓реНрдк
рдПрдордЖрдИрдЯреА
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛
рдЕрдкрд╛рдЪреЗ
рд░реВрдмреА

рд░реИрдХ
рдПрдордЖрдИрдЯреА
рд░реВрдмреА

AAP
GNU
рдЕрдЬрдЧрд░

SCons
рдПрдордЖрдИрдЯреА
рдЕрдЬрдЧрд░

рдмрд┐рдЯрдмреЗрдХ
GPLv2
рдЕрдЬрдЧрд░

рдХреЗрдХ
рдПрдордЖрдИрдЯреА
C#

ASDF
рдкреНрд░рд╡рд╛рд╕реА (MIT)
LISP

Cabal
BSD
Haskell

рдорд╣рд╛рди! рддрдкрд╛рдИрд▓реЗ рдЖрдлреНрдиреЛ рд╕реНрд░реЛрдд рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдирд┐рд░реНрдорд╛рдг рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рд╣рд░реВ рд░рд╛рдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рддрдкрд╛рдЗрдБрдХреЛ CI/CD рдЙрдкрдХрд░рдгрд▓рд╛рдИ рд╕рдмреИ рдХреБрд░рд╛ рд╕рдБрдЧреИ рд░рд╛рдЦреНрди рджрд┐рдиреБрд╣реЛрд╕реНред

рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧрд╛рдЗрдб: рдПрдХ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

рд╕рдмреИ рдареАрдХ рдЫ, рд╣реИрди? рддрд░ рддрдкрд╛рдЗрдБрдХреЛ рдЖрд╡реЗрджрди рдХрд╣рд╛рдБ рддреИрдирд╛рдд рдЧрд░реНрдиреЗ?

рдЪрд░рдг 4: рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрднрд░

рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдкреНрдпрд╛рдХреЗрдЬ рдЧрд░рд┐рдПрдХреЛ рдлрд╛рдЗрд▓ рдЫ рдЬреБрди рдХрд┐ рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдХреБрдиреИ рдкрдирд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд╛рдБрдЪреНрдЪреИ рдЙрдкрдпреЛрдЧреА рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐, рдпрд╕рд▓реЗ рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕реЗрд╡рд╛ рд╡рд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБрдкрд░реНрдЫ, рддрд░ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЛрд╕реНрдЯ рдЧрд░реНрди рдХрдиреНрдЯреЗрдирд░ рдЪрд╛рд╣рд┐рдиреНрдЫред

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

рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрднрд░рд╣рд░реВ рдЫрдиреНред

рд╢реАрд░реНрд╖рдХ
рд▓рд╛рдЗрд╕реЗрдиреНрд╕
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛

Tomcat
рдЕрдкрд╛рдЪреЗ 2.0
Java

Jetty
рдЕрдкрд╛рдЪреЗ 2.0
Java

рд╡рд╛рдЗрд▓реНрдбрдлреНрд▓рд╛рдЗ
GNU рдХрдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ
Java

рдЧрд┐рд▓рд╛рд╕ рдорд╛рдЫрд╛
CDDL рд░ GNU рдХрдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ
Java

Django
3-рдЦрдгреНрдб BSD
рдЕрдЬрдЧрд░

Tornado
рдЕрдкрд╛рдЪреЗ 2.0
рдЕрдЬрдЧрд░

рдЧрдирд┐рдХреЛрд░реНрди
рдПрдордЖрдИрдЯреА
рдЕрдЬрдЧрд░

рдЕрдЬрдЧрд░
рдПрдордЖрдИрдЯреА
рдЕрдЬрдЧрд░

рд░реЗрд▓рд╣рд░реВ
рдПрдордЖрдИрдЯреА
рд░реВрдмреА

Node.js
рдПрдордЖрдИрдЯреА
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рддрдкрд╛рдИрдВрдХреЛ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд▓рдЧрднрдЧ рддрдпрд╛рд░ рдЫред рд░рд╛рдореНрд░реЛ рдХрд╛рдо!

рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧрд╛рдЗрдб: рдПрдХ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

рдЬрдм рддрдкрд╛рдЗрдБ рддреНрдпрд╣рд╛рдБ рд░реЛрдХреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдПрдХреАрдХрд░рдг рдЖрдлреИрдВрд▓рд╛рдИ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдХреЛрдб рдЧреБрдгрд╕реНрддрд░ рдПрдХ рдПрдк рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЪрд┐рдиреНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рд╣реЛред

рдЪрд░рдг 5: рдХреЛрдб рдкрд░реАрдХреНрд╖рдг рдХрднрд░реЗрдЬ

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

рдХреЛрдб рдкрд░реАрдХреНрд╖рдгрд▓реЗ рджреБрдИ рднрд╛рдЧрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ: рдХреЛрдб рдкрд░реАрдХреНрд╖рдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рд▓реЗрдЦреНрди рд░ рдЪрд▓рд╛рдЙрди рдорджреНрджрдд рдЧрд░реНрджрдЫ, рд░ рд╕реБрдЭрд╛рд╡ рдЙрдкрдХрд░рдгрд╣рд░реВ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рддрдкрд╛рдИрдВрдХреЛ рдХреЛрдбрдХреЛ рдЧреБрдгрд╕реНрддрд░ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрджрдЫред

рдХреЛрдб рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА

рд╢реАрд░реНрд╖рдХ
рд▓рд╛рдЗрд╕реЗрдиреНрд╕
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛

JUnit
рдЧреНрд░рд╣рдг рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд▓рд╛рдЗрд╕реЗрдиреНрд╕
Java

EasyMock
рдЕрдкрд╛рдЪреЗ
Java

рдореЛрдХреАрдЯреЛ
рдПрдордЖрдИрдЯреА
Java

PowerMock
рдЕрдкрд╛рдЪреЗ 2.0
Java

рдкрд╛рдЗрдЯреЗрд╕реНрдЯ
рдПрдордЖрдИрдЯреА
рдЕрдЬрдЧрд░

рдкрд░рд┐рдХрд▓реНрдкрдирд╛
рдореЛрдЬрд┐рд▓рд╛
рдЕрдЬрдЧрд░

рдЯрдХреНрд╕
рдПрдордЖрдИрдЯреА
рдЕрдЬрдЧрд░

рдХреЛрдб рд╕реБрдзрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдкреНрд░рдгрд╛рд▓реА

рд╢реАрд░реНрд╖рдХ
рд▓рд╛рдЗрд╕реЗрдиреНрд╕
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛

Cobertura
GNU
Java

рдХреЛрдбрдХрднрд░
Eclipse Public (EPL)
Java

coverage.py
рдЕрдкрд╛рдЪреЗ 2.0
рдЕрдЬрдЧрд░

рдПрдореНрдорд╛
рд╕рд╛рдЭрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд▓рд╛рдЗрд╕реЗрдиреНрд╕
Java

JaCoCo
рдЧреНрд░рд╣рдг рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд▓рд╛рдЗрд╕реЗрдиреНрд╕
Java

рдкрд░рд┐рдХрд▓реНрдкрдирд╛
рдореЛрдЬрд┐рд▓рд╛
рдЕрдЬрдЧрд░

рдЯрдХреНрд╕
рдПрдордЖрдИрдЯреА
рдЕрдЬрдЧрд░

рдЪрдореЗрд▓реА
рдПрдордЖрдИрдЯреА
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдХрд░реНрдо
рдПрдордЖрдИрдЯреА
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдореЛрдЪрд╛
рдПрдордЖрдИрдЯреА
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдЫ
рдПрдордЖрдИрдЯреА
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХрд╛ рдзреЗрд░реИрдЬрд╕реЛ рдЙрдкрдХрд░рдг рд░ рдлреНрд░реЗрдорд╡рд░реНрдХрд╣рд░реВ Java, Python рд░ JavaScript рдХреЛ рд▓рд╛рдЧрд┐ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЫрдиреН, рдХрд┐рдирдХрд┐ C++ рд░ C# рдкреНрд░реЛрдкреНрд░рд╛рдЗрдЯрд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВ рд╣реБрдиреН (рдпрджреНрдпрдкрд┐ GCC рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реЛ)ред

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

рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░рдгрд╣рд░реВ

.╨л

рдореИрд▓реЗ рднрдиреЗрдЭреИрдВ, рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рд╕рд░реНрднрд░ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рд╡рд╛ рд╕рд░реНрднрд░рдорд╛ рд╣реЛрд╕реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди рд╣реЛред

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

рдЬрдмрдХрд┐ рддреНрдпрд╣рд╛рдБ рдЕрдиреНрдп рдХрдиреНрдЯреЗрдирд░ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН, рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп Docker рд░ Kubernetes рд╣реБрдиреНред

рдбрдХрд░: Apache 2.0
Kubernetes: Apache 2.0

рдордзреНрдпрд╡рд░реНрддреА рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдгрд╣рд░реВ

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

рдпрд╣рд╛рдБ рдХреЗрд╣реА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдгрд╣рд░реВ рдЫрдиреН:

рдЙрддреНрддрд░: GNU рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ
SaltStack: Apache 2.0
рд╢реЗрдл: Apache 2.0
рдХрдардкреБрддрд▓реА: Apache рд╡рд╛ GPL

рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧрд╛рдЗрдб: рдПрдХ DevOps рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

SkillFactory рдмрд╛рдЯ рднреБрдХреНрддрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЕрдирд▓рд╛рдЗрди рдкрд╛рдареНрдпрдХреНрд░рдорд╣рд░реВ рд▓рд┐рдПрд░ рд╕реАрдк рд░ рддрд▓рдмрдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рд╕реНрдХреНрд░реНрдпрд╛рдЪ рд╡рд╛ рд╕реНрддрд░ рдорд╛рдерд┐рдмрд╛рдЯ рдЦреЛрдЬрд┐рдПрдХреЛ рдкреЗрд╢рд╛ рдХрд╕рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реН:

рдердк рдкрд╛рдареНрдпрдХреНрд░рдорд╣рд░реВ

рдЙрдкрдпреЛрдЧреА

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

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