Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рд╣рд╛рдореАрд▓реЗ рд╕рдХреЗрд╕рдореНрдо DevOps рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдпреМрдВред рддреНрдпрд╣рд╛рдБ рд╣рд╛рдореА 8 рдЬрдирд╛ рдерд┐рдпреМрдВ, рд░ рд╡рд╛рд╕реНрдпрд╛ рд╡рд┐рдиреНрдбреЛрдЬрдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рдерд┐рдпреЛред рдЕрдЪрд╛рдирдХ Vasya рдЫреЛрдбрд┐рдпреЛ, рд░ рдорд╕рдБрдЧ рд╡рд┐рдиреНрдбреЛрдЬ рд╡рд┐рдХрд╛рд╕ рджреНрд╡рд╛рд░рд╛ рдЖрдкреВрд░реНрддрд┐ рдЧрд░рд┐рдПрдХреЛ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдп рдерд┐рдпреЛред рдЬрдм рдореИрд▓реЗ рд╕рдореНрдкреВрд░реНрдг рд╡рд┐рдиреНрдбреЛрдЬ рд╡рд┐рдХрд╛рд╕ рд╕реНрдЯреНрдпрд╛рдХрд▓рд╛рдИ рдЯреЗрдмрд▓рдорд╛ рдлреНрдпрд╛рдБрдХрд┐рджреЗрдВ, рдореИрд▓реЗ рдорд╣рд╕реБрд╕ рдЧрд░реЗрдВ рдХрд┐ рдЕрд╡рд╕реНрдерд╛ рдкреАрдбрд╛ рдерд┐рдпреЛ ...

рдХрдерд╛ рдпрд╕рд░реА рд╕реБрд░реБ рд╣реБрдиреНрдЫ рдЕрд▓реЗрдХреНрдЬрд╛рдиреНрдбреНрд░рд╛ рд╕рд┐рдиреНрдЪрд┐рдиреЛрднрд╛ рдорд╛ DevOpsConfред рдЬрдм рдкреНрд░рдореБрдЦ рд╡рд┐рдиреНрдбреЛрдЬ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд▓реЗ рдХрдореНрдкрдиреА рдЫреЛрдбреЗ, рдЕрд▓реЗрдХреНрдЬреНрдпрд╛рдгреНрдбрд░ рдЕрдм рдХреЗ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рд╕реЛрдЪреЗред рд▓рд┐рдирдХреНрд╕рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЕрд╡рд╢реНрдп! рдЕрд▓реЗрдХреНрдЬреНрдпрд╛рдгреНрдбрд░рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдмрддрд╛рдЙрдиреЗрдЫ рдХрд┐ рдЙрд╕рд▓реЗ рдХрд╕рд░реА рдЙрджрд╛рд╣рд░рдг рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рд╡рд┐рдиреНрдбреЛрдЬ рд╡рд┐рдХрд╛рд╕рдХреЛ рдЕрдВрд╢ рд▓рд┐рдирдХреНрд╕рдорд╛ 100 рдЕрдиреНрддрд┐рдо рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдкрдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдпреЛред

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

TFS, Puppet, Linux .NET core рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ RPM рдорд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдЬрд┐рд▓реИ рд░ рд╕рд╣рдЬ рд░реВрдкрдорд╛ рдХрд╕рд░реА рдбреЗрд▓рд┐рднрд░ рдЧрд░реНрдиреЗ? рдпрджрд┐ рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАрд▓реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рд░ рдлреНрд▓рд╛рдИрд╡реЗ рд╢рдмреНрджрд╣рд░реВ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рд╕реБрдиреНрдЫ рднрдиреЗ, рд░ рдЕрдиреНрддрд┐рдо рдорд┐рддрд┐ рднреЛрд▓рд┐рдХреЛ рджрд┐рди рд╣реЛ рднрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд▓рд╛рдИ рдХрд╕рд░реА рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ? рдбрдХрд░рд╕рдБрдЧ рдХрд╕рд░реА рдПрдХреАрдХреГрдд рдЧрд░реНрдиреЗ? рдкрдкреЗрдЯ рд░ рд▓рд┐рдирдХреНрд╕рдХреЛ рдкрдХреНрд╖рдорд╛ рд╡рд┐рдиреНрдбреЛрдЬ рд░ рд╕реНрдореВрджреАрд╣рд░реВ рддреНрдпрд╛рдЧреНрди .NET рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдХрд╕рд░реА рдЙрддреНрдкреНрд░реЗрд░рд┐рдд рдЧрд░реНрдиреЗ? рдЙрддреНрдкрд╛рджрдирдорд╛ рд╡рд┐рдиреНрдбреЛрдЬ рдХрд╛рдпрдо рд░рд╛рдЦреНрдиреЗ рд╢рдХреНрддрд┐, рди рдЪрд╛рд╣рдирд╛, рди рд╕реНрд░реЛрддрд╣рд░реВ рднрдПрдорд╛ рд╡реИрдЪрд╛рд░рд┐рдХ рджреНрд╡рдиреНрджреНрд╡ рдХрд╕рд░реА рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ? рдпрд╕ рдмрд╛рд░реЗ, рд╕рд╛рдереИ рд╡реЗрдм рдбрд┐рдкреНрд▓реЛрдп, рдкрд░реАрдХреНрд╖рдг, CI, рдЕрд╡рд╕реНрдерд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ TFS рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЕрднреНрдпрд╛рд╕рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛, рд░ рдЕрд╡рд╢реНрдп рдкрдирд┐, рдЕрд▓реЗрдХреНрдЬреНрдпрд╛рдгреНрдбрд░рдХреЛ рд░рд┐рдкреЛрд░реНрдЯрдХреЛ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯрдорд╛ рдЯреБрдЯреЗрдХреЛ рдмреИрд╕рд╛рдЦреА рд░ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕рдорд╛рдзрд╛рдирд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ред


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

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рд╣рд╛рдореА рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ DevOps рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИрдЫреМрдВ, рдореИрд▓реЗ рдорд╣рд╕реБрд╕ рдЧрд░реЗрдВ рдХрд┐ рдирдпрд╛рдБ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбреЗрд▓рд┐рднрд░ рдЧрд░реНрдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдорд╛ рдХреЗрд╣рд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддреНрдпрд╣рд╛рдБ рдПрдХ рдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рдерд┐рдпреЛ - рдпрджрд┐ рд╕рдореНрднрд╡ рдЫ рднрдиреЗ, рд▓рд┐рдирдХреНрд╕рдорд╛ рд╕рдмреИ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЧреБрдЧрд▓рд▓реЗ рдорд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрдпреЛ - рддреНрдпреЛ рд╕рдордпрдорд╛ .Net рд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдиреИ рд▓рд┐рдирдХреНрд╕рдорд╛ рдкреЛрд░реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рд░ рдореИрд▓реЗ рдмреБрдЭреЗрдВ рдХрд┐ рдпреЛ рд╕рдорд╛рдзрд╛рди рд╣реЛ!

рдХрд┐рди рд▓рд┐рдирдХреНрд╕ рд╕рдВрдЧ рд╕рдВрдпреЛрдЬрди рдорд╛ .NET рдХреЛрд░?

рдпрд╕рдХрд╛ рдзреЗрд░реИ рдХрд╛рд░рдг рдерд┐рдП ред "рдкреИрд╕рд╛ рддрд┐рд░реНрдиреБрд╣реЛрд╕реН" рд░ "рднреБрдХреНрддрд╛рди рдирдЧрд░реНрдиреБрд╣реЛрд╕реН" рдмреАрдЪ, рдмрд╣реБрдорддрд▓реЗ рджреЛрд╕реНрд░реЛ рд░реЛрдЬреНрдиреЗрдЫ - рдо рдЬрд╕реНрддреИред MSDB рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдХреЛ рд▓рд╛рдЧреА рд▓рдЧрднрдЧ $ 1 рдЦрд░реНрдЪ рд╣реБрдиреНрдЫ; Windows рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╢рд┐рди рдХреЛ рдПрдХ рдлреНрд▓реАрдЯ рдХреЛ рд░рдЦрд░рдЦрд╛рд╡ рдХреЛ рд▓рд╛рдЧреА рд╕рдпреМрдВ рдбрд▓рд░ рдХреЛ рд▓рд╛рдЧрддред рдареВрд▓реЛ рдХрдореНрдкрдиреАрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдареВрд▓реЛ рдЦрд░реНрдЪ рд╣реЛред рддреНрдпрд╕реИрд▓реЗ рд╣реЛрд▓рд╛ рдмрдЪрдд рдЧрд░реНрджреИ - рдкрд╣рд┐рд▓реЛ рдХрд╛рд░рдгред рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЗрди, рддрд░ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдордзреНрдпреЗ рдПрдХред

рд╡рд┐рдиреНрдбреЛрдЬ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВрд▓реЗ рд▓рд┐рдирдХреНрд╕ рднрд╛рдЗрд╣рд░реВ рднрдиреНрджрд╛ рдмрдвреА рд╕реНрд░реЛрддрд╣рд░реВ рд▓рд┐рдиреНрдЫрдиреН - рддрд┐рдиреАрд╣рд░реВ рднрд╛рд░реА рдЫрдиреНред рдареВрд▓реЛ рдХрдореНрдкрдиреАрдХреЛ рд╕реНрдХреЗрд▓рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ, рд╣рд╛рдореАрд▓реЗ рд▓рд┐рдирдХреНрд╕ рд░реЛрдЬреНрдпреМрдВред

рдкреНрд░рдгрд╛рд▓реА рдХреЗрд╡рд▓ рдЕрд╡рд╕реНрдерд┐рдд CI рдорд╛ рдПрдХреАрдХреГрдд рдЫред рд╣рд╛рдореА рдЖрдлреВрд▓рд╛рдИ рдкреНрд░рдЧрддрд┐рд╢реАрд▓ DevOps рдорд╛рдиреНрдЫреМрдВ, рд╣рд╛рдореА Bamboo, Jenkins рд░ GitLab CI рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореНрд░реЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рдо рд▓рд┐рдирдХреНрд╕рдорд╛ рдЪрд▓реНрдЫред

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

рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ

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

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

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

рдореНрдпрд╛рдж - рд╣рд┐рдЬреЛ.

рд╡рд┐рди рд╡рд┐рдХрд╛рд╕ рд╕рдореВрд╣

рддреНрдпрд╕рдмреЗрд▓рд╛ рд╡рд┐рдиреНрдбреЛрдЬ рдЯреЛрд▓реАрд▓реЗ рдХреЗ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдерд┐рдпреЛ?

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рдЕрдм рдо рдвреБрдХреНрдХ рднрдПрд░ рднрдиреНрди рд╕рдХреНрдЫреБ IdentityServer4 рд╕рдорд╛рди рдХреНрд╖рдорддрд╛рд╣рд░реВ рднрдПрдХреЛ ADFS рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд░рд╛рдореНрд░реЛ рдирд┐: рд╢реБрд▓реНрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ, рд╡рд╛ рдХреЗ рдЗрдХрд╛рдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ - рдПрдХ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡рд░реНрдЧ, рдЬрд╣рд╛рдБ рддрдкрд╛рдЗрдБрд▓реЗ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рд▓реЗрдЦреНрдиреБ рдкрд░реНрджреИрди, рддрд░ OOP рд╕рд░реНрддрд╣рд░реВрдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдкреНрд░рд╢реНрдирд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддрд░ рддреНрдпрд╕рдкрдЫрд┐, рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛рдХреЛ рдЫрд▓рдлрд▓рдХреЛ рдХреНрд░рдордорд╛, рдореИрд▓реЗ рдпреЛ рд╕реНрдЯреНрдпрд╛рдХрд▓рд╛рдИ рд╕реБрдореЗрд░рд┐рдпрди рдХреНрдпреВрдирд┐рдлрд░реНрдо рдЬрд╕реНрддреИ рд╣реЗрд░реЗрдВ, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рд░ рдЧрд┐рдЯ рдорд╛рддреНрд░ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрджреИред

рддреНрдпрд╕рдмреЗрд▓рд╛ рд╣рд╛рдореАрд▓реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХрд╛ рдерд┐рдпреМрдВ рдХрдардкреБрддрд▓реА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд░реВрдкрдорд╛ред рд╣рд╛рдореНрд░рд╛ рдзреЗрд░реИрдЬрд╕реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНтАНрдпреМрдВ GitLab рд╕реАрдЖрдИ, рд▓реЛрдЪрджрд╛рд░, рд╕рдиреНрддреБрд▓рд┐рдд рдЙрдЪреНрдЪ рд▓реЛрдб рд╕реЗрд╡рд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ HAProxy рд╕рдмреИ рдХреБрд░рд╛рдХреЛ рдЕрдиреБрдЧрдорди рдЧрд░реЗ Zabbix, рд▓рд┐рдЧрд╛рдореЗрдиреНрдЯ рдЧреНрд░рд╛рдлрд╛рдирд╛ ╨╕ Prometheus, рдЬреЗрдЧрд░рд░ рдпреА рд╕рдмреИ рдлрд▓рд╛рдордХрд╛ рдЯреБрдХреНрд░рд╛рд╣рд░реВрдорд╛ рдШреБрдорд┐рд░рд╣реЗрдХреЛ рдерд┐рдпреЛ HPESXi рдорд╛ VMwareред рд╕рдмреИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ - рд╡рд┐рдзрд╛ рдХреЛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХред

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рд╣рд╛рдореАрд▓реЗ рдпреА рд╕рдмреИ рд╣рд╕реНрддрдХреНрд╖реЗрдкрд╣рд░реВ рд╕реБрд░реБ рдЧрд░реНрдиреБ рдЕрдШрд┐ рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдерд┐рдпреЛ рд╣реЗрд░реМрдВ рд░ рдмреБрдЭреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВред

рдХреЗ рднрдпреЛ

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

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps
рдкрд╣рд┐рд▓реЗ, рдпреА рдареЛрд╕ рдЭреНрдпрд╛рд▓рд╣рд░реВ рдерд┐рдПред TFS рд▓реЗ рдзреЗрд░реИ рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреЛ, рдЬреБрди рдзреЗрд░реИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдЬрдореНрдорд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдпреЛред рдкреНрд░рддреНрдпреЗрдХ рдПрдЬреЗрдиреНрдЯрд╕рдБрдЧ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдЧрд░реНрди рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди 3-4 рдХрд╛рдорджрд╛рд░рд╣рд░реВ рдЫрдиреНред рддреНрдпрд╕рдкрдЫрд┐, рд░рд┐рд▓реАрдЬ рдпреЛрдЬрдирд╛рд╣рд░реВ рдЕрдиреБрд╕рд╛рд░, TFS рд▓реЗ рддрд╛рдЬрд╛ рдмреЗрдХреНрдб рдмрд┐рд▓реНрдбрд▓рд╛рдИ Windows рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрднрд░рдорд╛ рдбреЗрд▓рд┐рднрд░ рдЧрд░реНрдпреЛред

рд╣рд╛рдореАрд▓реЗ рдХреЗ рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрди рдЪрд╛рд╣реЗрдХрд╛ рдерд┐рдпреМрдВ?

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

рдкрд░рд┐рдпреЛрдЬрдирд╛

рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ рдкреНрд░рд┐рдкреЗрдб рдХрд╛рд░реНрдбрд╣рд░реВ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рдЧреНрд░рд╛рд╣рдХ

рддреНрдпрд╣рд╛рдБ рджреБрдИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рдерд┐рдПред рдкрд╣рд┐рд▓реЛ SSL SHA-2 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧ рдЗрди рдЧрд░реЗрд░ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рднрдпреЛред U рджреЛрд╕реНрд░реЛ рддреНрдпрд╣рд╛рдБ рд▓рдЧрдЗрди рд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд╣реБрдБрдЪ рдерд┐рдпреЛред

HAProxy

рддреНрдпрд╕рдкрдЫрд┐ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрд░реЛрдз HAProxy рдорд╛ рдЧрдП, рдЬрд╕рд▓реЗ рдирд┐рдореНрди рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдпреЛ:

  • рдкреНрд░рд╛рдердорд┐рдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг;
  • SSL рд╕рдорд╛рдкреНрддрд┐;
  • HTTP рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдЯреНрдпреБрди рдЧрд░реНрджреИ;
  • рдкреНрд░рд╕рд╛рд░рдг рдЕрдиреБрд░реЛрдзрд╣рд░реВред

рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЪреЗрдирдХреЛ рд╕рд╛рде рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░рд┐рдпреЛред рд╣рд╛рдореА - рдЕрдЦреНрддрд┐рдпрд╛рд░ рд░ рд╣рд╛рдореА рдпреЛ рдХрд┐рдиреНрди рд╕рдХреНрдЫреМрдВ, рдХрд┐рдирдХрд┐ рд╣рд╛рдореА рдЖрдлреИрд▓реЗ рд╕реЗрд╡рд╛ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рдЧрд░реНрдЫреМрдВред

рддреЗрд╕реНрд░реЛ рдмрд┐рдиреНрджреБрдорд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдХреЗрд╣рд┐ рдкрдЫрд┐ рдлрд░реНрдХрдиреЗрдЫреМрдВред

рдмреНрдпрд╛рдХрдЗрдиреНрдб

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

HAProxy рдХреЛ рд╕рд╛рде рдмрдЪрдд

рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдиреЗрднрд┐рдЧреЗрдЯ рдЧрд░реНрдиреЗ рджреБрдИ рд╕рдиреНрджрд░реНрднрд╣рд░реВрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рддреНрдпрд╣рд╛рдБ рдПрдХ рдкрд╣рд┐рдЪрд╛рди рд╕рдиреНрджрд░реНрдн рдкрдирд┐ рдерд┐рдпреЛред IdentityServer4 рдХреЗрд╡рд▓ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд▓рдЧ рдЗрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдпреЛ рдирд┐: рд╢реБрд▓реНрдХ рд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрдирд╛рд▓рдЧ рд╣реЛ рдПрдбреАрдПрдлрдПрд╕ - рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрдШ рд╕реЗрд╡рд╛рд╣рд░реВ.

рдкрд╣рд┐рдЪрд╛рди рдЕрдиреБрд░реЛрдз рдзреЗрд░реИ рдЪрд░рдгрд╣рд░реВрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдкрд╣рд┐рд▓реЛ рдкрд╛рдЗрд▓рд╛ - рдЧреНрд░рд╛рд╣рдХ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рдкреБрдЧреНрдпреЛ, рдЬрд╕рд▓реЗ рдпрд╕ рд╕рд░реНрднрд░рд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНтАНрдпреЛ рд░ рдЧреНрд░рд╛рд╣рдХрдХреЛ рд▓рд╛рдЧрд┐ рдЯреЛрдХрдирдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдЬрд╛рдБрдЪ рдЧрд░реНтАНрдпреЛред рдпрджрд┐ рдпреЛ рдлреЗрд▓рд╛ рдкрд░реЗрди рднрдиреЗ, рдЕрдиреБрд░реЛрдзрд▓рд╛рдИ рддреНрдпреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдлрд░реНрдХрд╛рдЗрдпреЛ рдЬрд╕рдмрд╛рдЯ рдпреЛ рдЖрдПрдХреЛ рдерд┐рдпреЛ, рддрд░ рдПрдХ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯрдХреЛ рд╕рд╛рде, рд░ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯрдХреЛ рд╕рд╛рде рдпреЛ рдкрд╣рд┐рдЪрд╛рдирдорд╛ рдЧрдпреЛред

рджреЛрд╕реНрд░реЛ рдЪрд░рдг - рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рднрдпреЛ IdentityServer рдорд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреГрд╖реНрдардорд╛, рдЬрд╣рд╛рдБ рдЧреНрд░рд╛рд╣рдХ рджрд░реНрддрд╛ рднрдпреЛ, рд░ рддреНрдпреЛ рд▓рд╛рдореЛ-рдкреНрд░рддреАрдХреНрд╖рд┐рдд рдЯреЛрдХрди IdentityServer рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛред

рддреЗрд╕реНрд░реЛ рдЪрд░рдг - рдЧреНрд░рд╛рд╣рдХ рдлрд┐рд░реНрддрд╛ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЧрд░рд┐рдпреЛ рдЬреБрди рд╕рдиреНрджрд░реНрднрдмрд╛рдЯ рдпреЛ рдЖрдПрдХреЛ рд╣реЛред

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

IdentityServer4 рдХреЛ рд╕реБрд╡рд┐рдзрд╛ рдЫ: рдпрд╕рд▓реЗ HTTP рдорд╛рд░реНрдлрдд рдлрд┐рд░реНрддрд╛ рдЕрдиреБрд░реЛрдзрдХреЛ рдЬрд╡рд╛рдл рдлрд░реНрдХрд╛рдЙрдБрдЫред рд╣рд╛рдореАрд▓реЗ рд╕рд░реНрднрд░ рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рдЬрддрд┐ рд╕рдЩреНрдШрд░реНрд╖ рдЧрд░реНтАНрдпреМрдВ, рд╣рд╛рдореАрд▓реЗ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВрдмрд╛рдЯ рдЖрдлреВрд▓рд╛рдИ рдЬрддрд┐рд╕реБрдХреИ рдкреНрд░рдмреБрджреНрдз рдмрдирд╛рдпреМрдВ, рд╣рд░реЗрдХ рдкрдЯрдХ рд╣рд╛рдореАрд▓реЗ HTTPS рдорд╛рд░реНрдлрдд рдЖрдПрдХреЛ URL рдХреЛ рд╕рд╛рде рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдЧрд░реНтАНрдпреМрдВ, рд░ IdentityServer рд▓реЗ рдЙрд╣реА рд╕рдиреНрджрд░реНрдн рдлрд┐рд░реНрддрд╛ рдЧрд░реНтАНрдпреЛ, рддрд░ HTTP рд╕рдБрдЧред рд╣рд╛рдореА рдЫрдХреНрдХ рднрдпреМрдВ! рд░ рд╣рд╛рдореАрд▓реЗ рдпреА рд╕рдмреИрд▓рд╛рдИ рдкрд╣рд┐рдЪрд╛рди рд╕рдиреНрджрд░реНрдн рдорд╛рд░реНрдлрдд HAProxy рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдпреМрдВ, рд░ рд╣реЗрдбрд░рд╣рд░реВрдорд╛ рд╣рд╛рдореАрд▓реЗ HTTP рдкреНрд░реЛрдЯреЛрдХрд▓рд▓рд╛рдИ HTTPS рдорд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред

рдХреЗ рд╕реБрдзрд╛рд░ рднрдпреЛ рд░ рдХрд╣рд╛рдБ рдмрдЪрдд рдЧрд░реНрдиреБрднрдпреЛ?

рд╣рд╛рдореАрд▓реЗ IdentityServer4 рд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рдЦрдгреНрдбрдорд╛ рдЫреБрдЯреНрдЯреИ рдиреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдирд░рд╛рдЦреНрдиреЗ рднрдПрдХреЛрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ, рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╕рдореВрд╣рд▓рд╛рдИ рдЕрдзрд┐рдХреГрдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдирд┐:рд╢реБрд▓реНрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреИрд╕рд╛ рдмрдЪрдд рдЧрд░реНрдпреМрдВ, рддрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдмреНрдпрд╛рдХрдЗрдиреНрдб рдЪрд▓реНрдиреЗ рд╕рд░реНрднрд░рдорд╛ рдмреНрдпрд╛рдХрдЗрдиреНрдбрд╕рдБрдЧ рд╕рдБрдЧреИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНтАНрдпреМрдВред ред

рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрдЫ

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

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рдХрдардкреБрддрд▓реА рдкреНрд░рдХрдЯ рд╣реБрдиреНрдЫред рд╕реЗрд╡рд╛ рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдбреЗрд▓рд┐рднрд░ рдЧрд░реНрди рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди, рдХреВрд▓ рд░реЗрд╕рд┐рдкреАрд╣рд░реВ рд▓реЗрдЦреНрдиреБрдкрд░реНрдереНрдпреЛред рдкреЗрдиреНрд╕рд┐рд▓рдХреЛ рд░реЛрд▓рд▓реЗ рдпреЛ рдХрддрд┐ рдЫрд┐рдЯреЛ рд░ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рднрдиреА рджреЗрдЦрд╛рдЙрдБрдЫред

рд╡рд┐рддрд░рдг рд╡рд┐рдзрд┐ред рдорд╛рдирдХ RPM рд╣реЛред рд╕рдмреИрд▓реЗ рдмреБрдЭреНрджрдЫрдиреН рдХрд┐ рд▓рд┐рдирдХреНрд╕рдорд╛ рддрдкрд╛рдИрд▓реЗ рдпреЛ рдмрд┐рдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди, рддрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрдлреИрдВ, рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкрдЫрд┐, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп DLL рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд╕реЗрдЯ рдерд┐рдпреЛред рддреА рдордзреНрдпреЗ рд▓рдЧрднрдЧ 150 рдерд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХрджрдо рдЧрд╛рд╣реНрд░реЛ рдерд┐рдпреЛред рдпреЛ рдмрд╛рдЗрдирд░реАрд▓рд╛рдИ RPM рдорд╛ рдкреНрдпрд╛рдХреЗрдЬ рдЧрд░реНрдиреЗ рд░ рдпрд╕рдмрд╛рдЯ рдПрдк рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрдиреЗ рдорд╛рддреНрд░ рд╕рд╛рдордВрдЬрд╕реНрдпрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рд╣реЛред

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

TFS рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрд┐рдЫреНрдпрд╛рдЙрди рдУрд░реНрд▓рд┐рдпреЛ ред рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореАрд▓реЗ рд╡рд┐рдиреНрдбреЛрдЬ рдПрдЬреЗрдиреНрдЯрд╣рд░реВрдорд╛ рд╕рдмреИ рд╡рд┐рдиреНрдбреЛрдЬ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдпреМрдВ, рддрд░ рдЕрдм рдПрдХ рд▓рд┐рдирдХреНрд╕ рдПрдЬреЗрдиреНрдЯ рджреЗрдЦрд╛ рдкрд░реНрджрдЫ - рдПрдХ рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯ, рдЬрд╕рд▓рд╛рдИ рдирд┐рд░реНрдорд╛рдг рд╕рдореВрд╣рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдХреЗрд╣реА рдХрд▓рд╛рдХреГрддрд┐рд╣рд░реВрд╕рдБрдЧ рд╕рдореГрджреНрдз, рд░ рдпрд╕ рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯрдорд╛ рдХрд╕реНрддреЛ рдкреНрд░рдХрд╛рд░рдХрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рд╣реБрдиреЗрдЫрдиреНред рд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдкрд╣рд┐рдЪрд╛рди рд╕рд░реНрднрд░ред ADFS рд╣рд╛рдореНрд░реЛ рдмрд╛рдЯреЛ рд╣реЛрдЗрди, рд╣рд╛рдореА рдЦреБрд▓рд╛ рд╕реНрд░реЛрддрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рдБрджреИрдЫреМрдВред

рдШрдЯрдХрд╣рд░реВ рдорд╛рд░реНрдлрдд рдЬрд╛рдФрдВред

рдореНрдпрд╛рдЬрд┐рдХ рдмрдХреНрд╕

рдЪрд╛рд░ рднрд╛рдЧрд╣рд░реБ рдорд┐рд▓реЗрд░ рдмрдиреЗрдХреЛ рдЫред

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рд▓рд┐рдирдХреНрд╕ рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯред рд▓рд┐рдирдХреНрд╕, рдХрд┐рдирднрдиреЗ рд╣рд╛рдореА рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдЫреМрдВ - рдпреЛ рддрд╛рд░реНрдХрд┐рдХ рдЫред рдпреЛ рднрд╛рдЧ рддреАрди рдЪрд░рдгрдорд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

  • рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдПрдХреНрд▓реИ рд╣реЛрдЗрди, рдХрд┐рдирдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрд╡рд┐рддрд░рд┐рдд рдХрд╛рдо рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд┐рдпреЛред
  • .NET Core 1.x рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдХрд┐рди 1.x рдЬрдм 2.0 рдкрд╣рд┐рд▓реЗ рдиреИ рдорд╛рдирдХ рднрдгреНрдбрд╛рд░рдорд╛ рдЙрдкрд▓рдмреНрдз рдЫ? рдХрд┐рдирднрдиреЗ рд╣рд╛рдореАрд▓реЗ рд╡рд┐рдХрд╛рд╕ рд╕реБрд░реБ рдЧрд░реНрджрд╛ рд╕реНрдЯреЗрдмрд▓ рд╕рдВрд╕реНрдХрд░рдг рез.режреп рдерд┐рдпреЛ рд░ рддреНрдпрд╕рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдиреЗ рдирд┐рд░реНрдгрдп рднрдпреЛред
  • Git 2.x.

RPM-рд░рд┐рдкреЛрдЬрд┐рдЯрд░реАред RPM рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдХрддреИ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпреЛ рдорд╛рдирд┐рдПрдХреЛ рдерд┐рдпреЛ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдЙрд╣реА рдХрд░реНрдкреЛрд░реЗрдЯ RPM рднрдгреНрдбрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВ рдЬреБрди рд╕рдмреИ рд▓рд┐рдирдХреНрд╕ рд╣реЛрд╕реНрдЯрд╣рд░реВрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫред рдЙрдиреАрд╣рд░реБрд▓реЗ рддреНрдпрд╣реА рдЧрд░реЗ ред рднрдгреНрдбрд╛рд░ рд╕рд░реНрднрд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рд╡реЗрдмрд╣реВрдХ рдЬрд╕рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдерд╛рдирдмрд╛рдЯ рдЖрд╡рд╢реНрдпрдХ RPM рдкреНрдпрд╛рдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдпреЛред рдкреНрдпрд╛рдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯрджреНрд╡рд╛рд░рд╛ рд╡реЗрдмрд╣реБрдХрдорд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

GitLab рдзреНрдпрд╛рди! GitLab рдпрд╣рд╛рдБ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рд╣реЛрдЗрди, рддрд░ рдЕрдкрд░реЗрд╕рди рд╡рд┐рднрд╛рдЧрджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ, рдкреНрдпрд╛рдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди, рд╕рдмреИ рд▓рд┐рдирдХреНрд╕ рдореЗрд╕рд┐рдирд╣рд░реВрдХреЛ рд╕реНрдерд┐рддрд┐ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рд░ рдпрд╕рд▓реЗ рдиреБрд╕реНрдЦрд╛ рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫ - рд╕рдмреИ Puppet manifestsред

рдХрдардкреБрддрд▓реА - рд╕рдмреИ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдореБрджреНрджрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрджрдЫ рд░ рдареНрдпрд╛рдХреНрдХреИ рд╣рд╛рдореАрд▓реЗ рдЧрд┐рдЯрд▓реНрдпрд╛рдмрдмрд╛рдЯ рдЪрд╛рд╣реЗрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

рд╣рд╛рдореА рдбреБрдмреНрди рдерд╛рд▓реНрдЫреМрдВред RPM рдорд╛ DLL рдбреЗрд▓рд┐рднрд░реАрд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ?

RPM рдорд╛ DDL рдбреЗрд▓рд┐рднрд░реА

рдорд╛рдиреМрдВ рд╣рд╛рдореАрд╕рдБрдЧ .NET рд╡рд┐рдХрд╛рд╕ рд░рдХ рд╕реНрдЯрд╛рд░ рдЫред рдпрд╕рд▓реЗ рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рд░ рд░рд┐рд▓реАрдЬ рд╢рд╛рдЦрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред рддреНрдпрд╕ рдкрдЫрд┐, рдпрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ Git рдорд╛ рдЕрдкрд▓реЛрдб рдЧрд░реНрджрдЫ, рд░ Git рдпрд╣рд╛рдБ TFS рдЗрдХрд╛рдИ рд╣реЛ, рддреНрдпреЛ рд╣реЛ, рдпреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрдгреНрдбрд╛рд░ рд╣реЛред

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

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

рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯрд▓реЗ рд╕реНрд░реЛрддрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ рд░ рдЖрд╡рд╢реНрдпрдХ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрджрдЫ рдирд┐рд░реНрднрд░рддрд╛ .NET рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА, npm, рдЖрджрд┐рдмрд╛рдЯред рд░ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдЖрдлреИрдВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реЗрдкрдЫрд┐ рд░ рддреНрдпрд╕рдкрдЫрд┐рдХреЛ рдкреНрдпрд╛рдХреЗрдЬрд┐рдЩ, RPM рдкреНрдпрд╛рдХреЗрдЬрд▓рд╛рдИ RPM рднрдгреНрдбрд╛рд░рдорд╛ рдкрдард╛рдЙрдБрдЫред

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

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рд╢рдмреНрджрд╣рд░реВрдорд╛ рд╕рдмреИ рдХреБрд░рд╛ рд╕рд░рд▓ рдЫ, рддрд░ рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯ рднрд┐рддреНрд░ рдХреЗ рд╣реБрдиреНрдЫ?

рдкреНрдпрд╛рдХреЗрдЬрд┐рдЩ DLL RPM

TFS рдмрд╛рдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрд░реЛрдд рд░ рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рднрдпреЛред рдПрдЬреЗрдиреНрдЯ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН рд╕реНрд░реЛрддрдмрд╛рдЯреИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдерд╛рд▓реНрдЫред рдЬрдореНрдорд╛ рдЧрд░рд┐рдПрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗрдЯрдХреЛ рд░реВрдкрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫ DLL рдлрд╛рдЗрд▓рд╣рд░реВ, рдЬреБрди рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд▓реЛрдб рдХрдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ zip рдЕрднрд┐рд▓реЗрдЦрдорд╛ рдкреНрдпрд╛рдХреЗрдЬ рдЧрд░рд┐рдПрдХреЛ рдЫред

ZIP рдЕрднрд┐рд▓реЗрдЦ рдлрд╛рд▓рд┐рдПрдХреЛ рдЫ RPM рдкреНрдпрд╛рдХреЗрдЬ рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдорд╛ред рдЕрд░реНрдХреЛ, Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рд╣рд░реВ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░реНрджрдЫ, рдирд┐рд░реНрдорд╛рдг рд╕рдВрд╕реНрдХрд░рдг, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд╕реНрдХрд░рдг, рдирд┐рд░реНрдорд╛рдг рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдорд╛рд░реНрдЧ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫ, рд░ RPM-build рдЪрд▓рд╛рдЙрдБрдЫред рдПрдХ рдкрдЯрдХ рдирд┐рд░реНрдорд╛рдг рдкреВрд░рд╛ рднрдПрдкрдЫрд┐, рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдиреЗрдЫ рд╕реНрдерд╛рдиреАрдп рднрдгреНрдбрд╛рд░, рдЬреБрди рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫред

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

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

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

рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрд╕реНрдХрд░рдг

рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАрд╕рдБрдЧрдХреЛ рдкрд░рд╛рдорд░реНрд╢рдорд╛, рдпреЛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдпреЛ рдХрд┐ рдХреЗрдЯрд╛рд╣рд░реВ MS SQL рдХреЛ рдирдЬрд┐рдХ рдерд┐рдП, рддрд░ рдзреЗрд░реИ рдЬрд╕реЛ рдЧреИрд░-Windows рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╣рд░реВрдорд╛ рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдЖрдлреНрдиреЛ рд╕рдмреИ рд╢рдХреНрддрд┐рдХрд╛ рд╕рд╛рде PostgreSQL рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдерд┐рдпреМрдВред рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рднреБрдХреНрддрд╛рди рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рдХреБрд░рд╛ рддреНрдпрд╛рдЧреНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рд╕рдХреЗрдХрд╛рд▓реЗ, рд╣рд╛рдореАрд▓реЗ рдпрд╣рд╛рдБ рдкрдирд┐ PostgreSQL рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВред

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рдпрд╕ рднрд╛рдЧрдорд╛ рдо рддрдкрд╛рдИрд▓рд╛рдИ рдмрддрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреБ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпреМрдВ рд░ рд╣рд╛рдореАрд▓реЗ рдХрд╕рд░реА Flyway рд░ Entity Framework Core рдмреАрдЪ рд░реЛрдЬреНрдпреМрдВред рддрд┐рдиреАрд╣рд░реВрдХреЛ рдлрд╛рдЗрджрд╛ рд░ рдмреЗрдлрд╛рдЗрджрд╛ рд╣реЗрд░реМрдВред

╨Ь╨╕╨╜╤Г╤Б╤Л

рдлреНрд▓рд╛рдИрд╡реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рдЯреЛ рдЬрд╛рдиреНрдЫ, рд╣рд╛рдореА рд╣рд╛рдореА рдлрд┐рд░реНрддрд╛ рд╣реБрди рд╕рдХреНрджреИрдиреМрдВ - рдпреЛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд╛рдирд┐ рд╣реЛред рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рддрдкрд╛рдИрдВ рдпрд╕рд▓рд╛рдИ рдЕрдиреНрдп рддрд░рд┐рдХрд╛рдорд╛ Entity Framework Core рд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрдкрд╛рдИрд▓рд╛рдИ рдпрд╛рдж рдЫ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рдЕрдЧрд╛рдбрд┐ рд░рд╛рдЦреНрдпреМрдВ, рд░ рдореБрдЦреНрдп рдорд╛рдкрджрдгреНрдб рд╡рд┐рдиреНрдбреЛрдЬ рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╣рд┐ рдкрдирд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБ рдерд┐рдПрдиред

Flyway рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рд░реНрдпрд╛рдкрд░ рдЪрд╛рд╣рд┐рдиреНрдЫрддрд╛рдХрд┐ рдХреЗрдЯрд╛рд╣рд░реВрд▓реЗ рд▓реЗрдЦреНрди рдирдкрд░реЛрд╕реН SQL рдкреНрд░рд╢реНрдирд╣рд░реВред рддрд┐рдиреАрд╣рд░реВ OOP рд╕рд░реНрддрд╣рд░реВрдорд╛ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрди рдзреЗрд░реИ рдирдЬрд┐рдХ рдЫрдиреНред рд╣рд╛рдореАрд▓реЗ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╡рд╕реНрддреБрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рд▓реЗрдЦреНрдпреМрдВ, SQL рдХреНрд╡реЗрд░реА рдЙрддреНрдкрдиреНрди рдЧрд░реНтАНрдпреМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНтАНрдпреМрдВред рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рддрдпрд╛рд░ рдЫ, рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рдЫ - рд╕рдмреИ рдареАрдХ рдЫ, рд╕рдмреИ рдХрд╛рдо рдЧрд░реНрджрдЫред

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

╨Я╨╗╤О╤Б╤Л

рдЗрдХрд╛рдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ рдмрдХреНрд╕ рдмрд╛рд╣рд┐рд░ рдХрд╛рдо рдЧрд░реНрджрдЫ рд░ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫ, рд░ рдлреНрд▓рд╛рдИрд╡реЗ рд╡рд┐рджреНрдпрдорд╛рди CI рдорд╛ рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ рдПрдХреАрдХреГрддред рддрд░ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдЙрдБрдЫреМрдВ :)

рд░реЛрд▓-рдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛

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

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

TFS рд╕рдорд╕реНрдпрд╛рд╣рд░реВ

рд╣рд╛рдореАрд▓реЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдкрдЫрд┐ рд░ рд╕рдмреИ рдХреБрд░рд╛ рд╡рд╛рд╕реНрддрд╡рдореИ рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдорд╣рд╕реБрд╕ рдЧрд░реЗрдкрдЫрд┐, рдореИрд▓реЗ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рд╡рд┐рди рд╡рд┐рдХрд╛рд╕ рд╡рд┐рднрд╛рдЧрдХреЛ рд▓рд╛рдЧрд┐ TFS рдорд╛ рдЬрдореНрдорд╛ рднрдПрдХрд╛ рд╕рдореНрдореЗрд▓рдирд╣рд░реВрд╕рдБрдЧ рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдЫ рднрдиреЗрд░ рд╣реЗрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗ - рдЪрд╛рд╣реЗ рд╣рд╛рдореА рдирд┐рд░реНрдорд╛рдг/рдЫрд┐рдЯреЛ рдЬрд╛рд░реА рдЧрд░реНрджреИрдЫреМрдВ рд╡рд╛ рд╣реЛрдЗрди, рд░ред рдЧрддрд┐ рд╕рдВрдЧ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЗрдпреЛред

рдПрдЙрдЯрд╛ рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓рд╛рдИ рдЬрдореНрдорд╛ рд╣реБрди резреи-резрел рдорд┐рдиреЗрдЯ рд▓рд╛рдЧреНрдЫ - рддреНрдпреЛ рд▓рд╛рдореЛ рд╕рдордп рд╣реЛ, рддрдкрд╛рдИрдВ рддреНрдпрд╕рд░реА рдмрд╛рдБрдЪреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдиред рджреНрд░реБрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд▓реЗ I/O рдорд╛ рднрдпрд╛рдирдХ рдбреНрд░рдбрд╛рдЙрди рджреЗрдЦрд╛рдпреЛ, рд░ рдпреЛ arrays рдорд╛ рдерд┐рдпреЛред

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

рддреЗрд╕реНрд░реЛ - Npm рд╕реНрдерд╛рдкрдирд╛ред рдпреЛ рдмрд╛рд╣рд┐рд░ рднрдпреЛ рдХрд┐ рдзреЗрд░реИ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╣рд░реВрдорд╛ рд╣рд╛рдореАрд▓реЗ рдпреЛ рд╕рд╣реА рдкрд░рд┐рджреГрд╢реНрдп рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреМрдВред рдК рдХрд┐рди рдЦрд░рд╛рдм рдЫ? Npm рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓рд╛рдЗрдиреНрдЫ рдЬрдм рдирд┐рд░реНрднрд░рддрд╛ рд░реВрдЦ рдорд╛ рдЧрдарди рд╣реБрдиреНрдЫ package-lock.json, рдЬрд╣рд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рд░реЗрдХрд░реНрдб рдЧрд░рд┐рдПрдХреЛ рдЫред рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпреЛ рд╣реЛ рдХрд┐ рдПрдирдкреАрдПрдо рд╕реНрдерд╛рдкрдирд╛рд▓реЗ рд╣рд░реЗрдХ рдкрдЯрдХ рдЗрдиреНрдЯрд░рдиреЗрдЯрдмрд╛рдЯ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рддрд╛рдиреНрджрдЫ, рд░ рдпрд╕рд▓реЗ рдареВрд▓реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдорд╛рдорд▓рд╛рдорд╛ рдзреЗрд░реИ рд╕рдордп рд▓рд┐рдиреНрдЫред

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

рдирд┐рд░реНрдгрдп

  • AV рдЕрдкрд╡рд╛рджрд╣рд░реВрдорд╛ рд╕реНрд░реЛрддрд╣рд░реВред
  • рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред
  • рд╕рдВрдХреНрд░рдордг npm ci.

npm ci рдХреЛ рдлрд╛рдЗрджрд╛рд╣рд░реВ рдпреЛ рд╣реЛ рдХрд┐ рд╣рд╛рдореА рд╣рд╛рдореА рдПрдХ рдкрдЯрдХ рдирд┐рд░реНрднрд░рддрд╛ рд░реВрдЦ рд╕рдВрдХрд▓рди рдЧрд░реНрдЫреМрдВ, рд░ рд╣рд╛рдореА рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗ рдЕрд╡рд╕рд░ рдкрд╛рдЙрдБрдЫреМрдВ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рд╣рд╛рд▓рдХреЛ рд╕реВрдЪреАрдЬрд╕рдмрд╛рдЯ рдЙрдирд▓реЗ рдЖрдлреВрд▓рд╛рдИ рдорди рд▓рд╛рдЧреЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред рдпреЛ рд╕рдордп рдмрдЪрдд рдЧрд░реНрдЫ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдЬрд╕рд▓реЗ рдХреЛрдб рд▓реЗрдЦреНрдЫрдиреНред

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди

рдЕрдм рднрдгреНрдбрд╛рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдереЛрд░реИред рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдкрдорд╛ рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ рдиреЗрдХреНрд╕рд╕ рднрдгреНрдбрд╛рд░рд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐, рд╕рд╣рд┐рдд рдЖрдиреНрддрд░рд┐рдХ REPOред рдпреЛ рдЖрдиреНрддрд░рд┐рдХ рднрдгреНрдбрд╛рд░рдорд╛ рд╣рд╛рдореАрд▓реЗ рдЖрдиреНрддрд░рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдмреИ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдирд┐рдЧрд░рд╛рдиреАред

Linux рдорд╛ .NET Core, рдШреЛрдбрд╛рдорд╛ DevOps

рд╣рд╛рдореА рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ рдиреБрдЧреЗрдЯ, рдЕрдиреНрдп рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХрд╣рд░реВрдХреЛ рддреБрд▓рдирд╛рдорд╛ рдпрд╕рдорд╛ рд░рд╛рдореНрд░реЛ рдХреНрдпрд╛рд╕рд┐рдЩ рдЫред

рдкрд░рд┐рдгрд╛рдо

рд╣рд╛рдореАрд▓реЗ рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯрд╣рд░реВрд▓рд╛рдИ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬ рдЧрд░реЗрдкрдЫрд┐, рдФрд╕рдд рдирд┐рд░реНрдорд╛рдг рд╕рдордп 12 рдорд┐рдиреЗрдЯрдмрд╛рдЯ 7 рдорд╛ рдШрдЯрд╛рдЗрдпреЛред

рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рд╡рд┐рдиреНрдбреЛрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреЗ рд╕рдмреИ рдореЗрд╕рд┐рдирд╣рд░реВ рдЧрдгрдирд╛ рдЧрд░реНрдЫреМрдВ, рддрд░ рдпрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрд▓рд┐рдирдХреНрд╕рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдпреМрдВ рднрдиреЗ, рд╣рд╛рдореАрд▓реЗ рд▓рдЧрднрдЧ $10 рдмрдЪрдд рдЧрд░реНрдЫреМрдВред рд░ рддреНрдпреЛ рдХреЗрд╡рд▓ рдЗрдЬрд╛рдЬрддрдкрддреНрд░рд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рд╣реЛ, рд░ рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдордЧреНрд░реАрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдпреМрдВ рднрдиреЗред

рдпреЛрдЬрдирд╛рд╣рд░реБ

рдЕрд░реНрдХреЛ рдХреНрд╡рд╛рд░реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рдХреЛрдб рдбреЗрд▓рд┐рднрд░реАрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрдиреЗ рдХрд╛рдо рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдХрд╛ рдЫреМрдВред

рдкреНрд░рд┐рдмрд┐рд▓реНрдб рдбрдХрд░ рдЫрд╡рд┐рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрджреИред TFS рдзреЗрд░реИ рдкреНрд▓рдЧрдЗрдирд╣рд░реВрд╕рдБрдЧ рдПрдХ рд░рд╛рдореНрд░реЛ рдЪреАрдЬ рд╣реЛ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдорд╛ рдПрдХреАрдХреГрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЯреНрд░рд┐рдЧрд░-рдЖрдзрд╛рд░рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рд╕рд╣рд┐рдд, рднрдиреНрдиреБрд╣реЛрд╕реН, рдПрдХ рдбрдХрд░ рдЫрд╡рд┐ред рд╣рд╛рдореА рдпреЛ рдЯреНрд░рд┐рдЧрд░ рдПрдЙрдЯреИрдХреЛ рд▓рд╛рдЧрд┐ рдмрдирд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреМрдВ package-lock.jsonред рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рд╕рдВрд░рдЪрдирд╛ рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рднрдпреЛ рднрдиреЗ, рд╣рд╛рдореА рдирдпрд╛рдБ рдбрдХрд░ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдЫреМрдВред рдпреЛ рдкрдЫрд┐ рдХрдиреНрдЯреЗрдирд░рд▓рд╛рдИ рдПрд╕реЗрдореНрдмрд▓ рдЧрд░рд┐рдПрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирдХреЛ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдЕрд╣рд┐рд▓реЗ рдпреЛ рдЕрд╡рд╕реНрдерд╛ рдЫреИрди, рддрд░ рд╣рд╛рдореА Kubernetes рдорд╛ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрднрд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдЧрд░реНрджреИрдЫреМрдВ, рдЬреБрди рд╣рд╛рдореНрд░реЛ рдХрдореНрдкрдиреАрдорд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рд╡рд┐рдХрд╛рд╕ рднрдЗрд░рд╣реЗрдХреЛ рдЫ рд░ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рдЙрддреНрдкрд╛рджрди рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджреИ рдЖрдПрдХреЛ рдЫред

рд╕рд╛рд░рд╛рдВрд╢

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

рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд╕рд┐рдиреНрдЪрд┐рдиреЛрднрдХреЛ рд╕реНрдкрд┐рдХрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓ GitHub рдорд╛.

DevOps Conf рдкреЗрд╢реЗрд╡рд░рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢реЗрд╡рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд╛рд╕, рдкрд░реАрдХреНрд╖рдг рд░ рд╕рдЮреНрдЪрд╛рд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдХреЛ рдПрдХреАрдХрд░рдгрдорд╛ рд╕рдореНрдореЗрд▓рди рд╣реЛред рддреНрдпрд╕рдХрд╛рд░рдг рдЕрд▓реЗрдХреНрдЬреНрдпрд╛рдгреНрдбрд░рд▓реЗ рдмреЛрд▓реЗрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛? рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░ рдХрд╛рдо, рд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рджрд┐рди рдорд╛ рджреБрдИ рд╕рдлрд▓ рд░рд┐рд▓реАрдЬ рдерд┐рдПред рдЕрди RIT++ рдорд╛ DevOps Conf рдореЗ 27 рд░ 28 рдорд╛ рдЪрд┐рдХрд┐рддреНрд╕рдХрд╣рд░реВрдмрд╛рдЯ рдЕрдЭ рдзреЗрд░реИ рд╕рдорд╛рди рдХреЗрд╕рд╣рд░реВ рд╣реБрдиреЗрдЫрдиреНред рддрдкрд╛рдИрдВ рдЕрдЭреИ рдкрдирд┐ рдЕрдиреНрддрд┐рдо рдЧрд╛рдбреА рдорд╛ рд╣рд╛рдо рдлрд╛рд▓реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдкреНрд░рддрд┐рд╡реЗрджрди рдкреЗрд╢ рдЧрд░реНрдиреЗ рд╡рд╛ рдЖрдлреНрдиреЛ рд╕рдордп рд▓рд┐рдиреБрд╣реЛрд╕реН рдмреБрдХ рдЧрд░реНрди рдЯрд┐рдХрдЯред рд╣рд╛рдореАрд▓рд╛рдИ Skolkovo рдорд╛ рднреЗрдЯреНрдиреБрд╣реЛрд╕реН!

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

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