Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

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

рдЕрд╢реА рдХрдерд╛ рд╕реБрд░реВ рд╣реЛрддреЗ рдЕрд▓реЗрдХреНрдЭрд╛рдВрдбреНрд░рд╛ рд╕рд┐рдВрдЪрд┐рдиреЛрд╡реНрд╣рд╛ рд╡рд░ DevOpsConf. рдЬреЗрд╡реНрд╣рд╛ рдЖрдШрд╛рдбреАрдЪреНрдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рддрдЬреНрдЮрд╛рдиреЗ рдХрдВрдкрдиреА рд╕реЛрдбрд▓реА рддреЗрд╡реНрд╣рд╛ рдЕрд▓реЗрдХреНрдЭрд╛рдВрдбрд░рд▓рд╛ рдЖрд╢реНрдЪрд░реНрдп рд╡рд╛рдЯрд▓реЗ рдХреА рдЖрддрд╛ рдХрд╛рдп рдХрд░рд╛рд╡реЗ. рд▓рд┐рдирдХреНрд╕рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рд╛, рдЕрд░реНрдерд╛рддрдЪ! рдЕрд▓реЗрдХреНрдЭрд╛рдВрдбрд░ рддреБрдореНрд╣рд╛рд▓рд╛ 100 рдЕрдВрддрд┐рдо рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдкреВрд░реНрдг рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░реВрди рд╡рд┐рдВрдбреЛрдЬ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдЪрд╛ рдХрд╛рд╣реА рднрд╛рдЧ рд▓рд┐рдирдХреНрд╕рдордзреНрдпреЗ рдХрд╕реЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓рд╛ рд╣реЗ рд╕рд╛рдВрдЧреЗрд▓.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

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


рддрд░, рд╡рд╛рд╕реНрдпрд╛ рдирд┐рдШреВрди рдЧреЗрд▓рд╛, рдХрд╛рд░реНрдп рдорд╛рдЭреНрдпрд╛рд╡рд░ рдЖрд╣реЗ, рд╡рд┐рдХрд╕рдХ рдкрд┐рдЪрдлреЛрд░реНрдХреНрд╕рд╕рд╣ рдЕрдзреАрд░рдкрдгреЗ рд╡рд╛рдЯ рдкрд╛рд╣рдд рдЖрд╣реЗрдд. рд╢реЗрд╡рдЯреА рдЬреЗрд╡реНрд╣рд╛ рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА рд╡рд╛рд╕реНрдпрд╛ рдкрд░рдд рдпреЗрдК рд╢рдХрдд рдирд╛рд╣реА, рддреЗрд╡реНрд╣рд╛ рдореА рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдд рдЙрддрд░рд▓реЛ. рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рдореА рдЖрдордЪреНрдпрд╛ рдлреНрд▓реАрдЯрдордзреАрд▓ Win VM рдЪреНрдпрд╛ рдЯрдХреНрдХреЗрд╡рд╛рд░реАрдЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗрд▓реЗ. рд╕реНрдХреЛрдЕрд░ рд╡рд┐рдВрдбреЛрдЬрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдирд╡реНрд╣рддрд╛.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

рдЖрдореНрд╣реА рд╕рдХреНрд░рд┐рдпрдкрдгреЗ DevOps рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдорд▓рд╛ рдЬрд╛рдгрд╡рд▓реЗ рдХреА рдирд╡реАрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдХреЛрдирд╛рдд рдХрд╛рд╣реАрддрд░реА рдмрджрд▓рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдПрдХрдЪ рдЙрдкрд╛рдп рд╣реЛрддрд╛ - рд╢рдХреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕рд░реНрд╡рдХрд╛рд╣реА Linux рд╡рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рд╛. Google рдиреЗ рдорд▓рд╛ рдорджрдд рдХреЗрд▓реА - рддреНрдпрд╛ рд╡реЗрд│реА .Net рдЖрдзреАрдЪ Linux рд╡рд░ рдкреЛрд░реНрдЯ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдЖрдгрд┐ рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА рд╣рд╛ рдЙрдкрд╛рдп рдЖрд╣реЗ!

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

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

рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдиреНрд╕ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд▓рд┐рдирдХреНрд╕ рдмрдВрдзреВрдВрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╕рдВрд╕рд╛рдзрдиреЗ рдШреЗрддрд╛рдд - рддреЗ рдЬрдб рдЖрд╣реЗрдд. рдореЛрдареНрдпрд╛ рдХрдВрдкрдиреАрдЪреЗ рдкреНрд░рдорд╛рдг рдкрд╛рд╣рддрд╛, рдЖрдореНрд╣реА рд▓рд┐рдирдХреНрд╕ рдирд┐рд╡рдбрд▓реЗ.

рдкреНрд░рдгрд╛рд▓реА рдлрдХреНрдд рд╡рд┐рджреНрдпрдорд╛рди CI рдордзреНрдпреЗ рд╕рдорд╛рдХрд▓рд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ. рдЖрдореНрд╣реА рд╕реНрд╡рддрдГрд▓рд╛ рдкреНрд░рдЧрддреАрд╢реАрд▓ DevOps рд╕рдордЬрддреЛ, рдЖрдореНрд╣реА рдмрд╛рдВрдмреВ, рдЬреЗрдирдХрд┐рдиреНрд╕ рдЖрдгрд┐ GitLab CI рд╡рд╛рдкрд░рддреЛ, рддреНрдпрд╛рдореБрд│реЗ рдЖрдордЪреЗ рдмрд╣реБрддреЗрдХ рдХрд╛рдо Linux рд╡рд░ рдЪрд╛рд▓рддреЗ.

рд╢реЗрд╡рдЯрдЪреЗ рдХрд╛рд░рдг рдЖрд╣реЗ рд╕реЛрдпреАрд╕реНрдХрд░ рд╕рд╛рдереАрджрд╛рд░. рдЖрдореНрд╣рд╛рд▓рд╛ "рдПрд╕реНрдХреЙрд░реНрдЯреНрд╕" - рддрд╛рдВрддреНрд░рд┐рдХ рднрд╛рдЧ рд╕рдордЬреВрди рдШреЗрдгрд╛рд░реЗ, рдЕрдЦрдВрдб рд╕реЗрд╡рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдЖрдгрд┐ рджреБрд╕рд▒реНрдпрд╛ рдУрд│реАрддреВрди рд╕реЗрд╡рд╛ рдХрд╛рдпрдо рдареЗрд╡рдгрд╛рд░реНтАНрдпрд╛ рдореБрд▓рд╛рдВрд╕рд╛рдареА рдкреНрд░рд╡реЗрд╢рд╛рдЪрд╛ рдЕрдбрдерд│рд╛ рдХрдореА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ. рддреЗ рд▓рд┐рдирдХреНрд╕ рд╕реНрдЯреЕрдХрд╢реА рдЖрдзреАрдЪ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрддреЗ, рддреНрдпрд╛рдореБрд│реЗ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪреА рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрдиреЗ рдЦрд░реНрдЪ рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдирд╡реАрди рдЙрддреНрдкрд╛рджрди рд╕рдордЬреВрди рдШреЗрдгреЗ, рд╕рдорд░реНрдерди рдХрд░рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рджреЗрдЦрднрд╛рд▓ рдХрд░рдгреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ.

рдЖрд╡рд╢реНрдпрдХрддрд╛

рдкреНрд░рдердо рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ - рд╡рд┐рдХрд╕рдХрд╛рдВрд╕рд╛рдареА рдирд╡реАрди рд╕рдорд╛рдзрд╛рдирд╛рдЪреА рд╕реЛрдп. рддреЗ рд╕рд░реНрд╡рдЪ рдмрджрд▓рд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдирд╡реНрд╣рддреЗ, рд╡рд┐рд╢реЗрд╖рдд: рд▓рд┐рдирдХреНрд╕ рд╣рд╛ рд╢рдмреНрдж рдмреЛрд▓рд▓реНрдпрд╛рдирдВрддрд░. рд╡рд┐рдХрд╕рдХрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪрд╛ рдЖрд╡рдбрддрд╛ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ, рдЕрд╕реЗрдВрдмреНрд▓реА рдЖрдгрд┐ рд╕реНрдореВрджреАрдЬрд╕рд╛рдареА рдСрдЯреЛрдЯреЗрд╕реНрдЯрд╕рд╣ TFS рд╣рд╡рд╛ рдЖрд╣реЗ. рдЙрддреНрдкрд╛рджрдирд╛рд╕рд╛рдареА рд╡рд┐рддрд░рдг рдХрд╕реЗ рд╣реЛрддреЗ рд╣реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╛рд╣реА. рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдмрджрд▓ рди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЖрдгрд┐ рд╡рд┐рдВрдбреЛрдЬ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрд╕рд╛рдареА рд╕рд░реНрд╡рдХрд╛рд╣реА рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛.

рдирд╡реАрди рдкреНрд░рдХрд▓реНрдк рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рджреНрдпрдорд╛рди CI рдордзреНрдпреЗ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рд╛. рд░реЗрд▓ рддреЗрдереЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рд╣реЛрддреЗ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдорд╛рдкрджрдВрдб, рд╕реНрд╡реАрдХрд╛рд░рд▓реЗрд▓реЗ рд╡рд┐рддрд░рдг рдорд╛рдирдХ рдЖрдгрд┐ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд▓рдХреНрд╖рд╛рдд рдШреЗрдКрди рд╕рд░реНрд╡ рдХрд╛рдо рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ.

рд╕рдорд░реНрдерди рдЖрдгрд┐ рдСрдкрд░реЗрд╢рди рд╕реБрд▓рдн, рд╡рд┐рд╡рд┐рдз рд╡рд┐рднрд╛рдЧ рдЖрдгрд┐ рд╕рдорд░реНрдерди рд╡рд┐рднрд╛рдЧрд╛рддреАрд▓ рд╕рд░реНрд╡ рдирд╡реАрди рд╕рд╣рднрд╛рдЧреАрдВрд╕рд╛рдареА рдХрд┐рдорд╛рди рдкреНрд░рд╡реЗрд╢ рдЙрдВрдмрд░рдареНрдпрд╛рдЪреА рдЕрдЯ рдореНрд╣рдгреВрди.

рдЕрдВрддрд┐рдо рдореБрджрдд - рдХрд╛рд▓.

рд╡рд┐рдХрд╛рд╕ рдЧрдЯ рдЬрд┐рдВрдХрд╛

рддреЗрд╡реНрд╣рд╛ рд╡рд┐рдВрдбреЛрдЬ рдЯреАрдо рдХрд╢рд╛рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдд рд╣реЛрддреА?

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

рдЖрддрд╛ рдореА рд╣реЗ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рдиреЗ рд╕рд╛рдВрдЧреВ рд╢рдХрддреЛ IdentityServer4 рддрддреНрд╕рдо рдХреНрд╖рдорддреЗрд╕рд╣ ADFS рд╕рд╛рдареА рдПрдХ рдЫрд╛рди рд╡рд┐рдирд╛рдореВрд▓реНрдп рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ, рдХрд┐рдВрд╡рд╛ рдХрд╛рдп рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ - рд╡рд┐рдХрд╕рдХрд╛рд╕рд╛рдареА рдирдВрджрдирд╡рди, рдЬрд┐рдереЗ рддреБрдореНрд╣рд╛рд▓рд╛ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪрд╛ рддреНрд░рд╛рд╕ рдШреНрдпрд╛рд╡рд╛ рд▓рд╛рдЧрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдкреНрд░рд╢реНрдирд╛рдВрдЪреЗ OOP рд╢рдмреНрджрд╛рдВрдордзреНрдпреЗ рд╡рд░реНрдгрди рдХрд░рд╛. рдкрдг рдирдВрддрд░, рдХреГрддреА рдЖрд░рд╛рдЦрдбреНрдпрд╛рдЪреНрдпрд╛ рдЪрд░реНрдЪреЗрджрд░рдореНрдпрд╛рди, рдореА рдпрд╛ рд╕реНрдЯреЕрдХрдХрдбреЗ рдЕрд╕реЗ рдкрд╛рд╣рд┐рд▓реЗ рдХреА рдЬрдгреВ рддреЗ рд╕реБрдореЗрд░рд┐рдпрди рдХреНрдпреВрдирд┐рдлреЙрд░реНрдо рдЖрд╣реЗ, рдлрдХреНрдд PostgreSQL рдЖрдгрд┐ Git рдУрд│рдЦрдд рдЖрд╣реЗ.

рддреНрдпрд╛ рд╡реЗрд│реА рдЖрдореНрд╣реА рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╡рд╛рдкрд░рдд рд╣реЛрддреЛ рдХрдардкреБрддрд│реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рдгрд╛рд▓реА рдореНрд╣рдгреВрди. рдЖрдордЪреНрдпрд╛ рдмрд╣реБрддреЗрдХ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рд▓реЗ рдЧрд┐рдЯрд▓рд╛рдм рд╕реАрдЖрдп, рд▓рд╡рдЪрд┐рдХ, рд╡рд╛рдкрд░реВрди рд╕рдВрддреБрд▓рд┐рдд рдЙрдЪреНрдЪ-рднрд╛рд░ рд╕реЗрд╡рд╛ HAProxy рд╕рд╣ рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреАрдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗрд▓реЗ рдЭрдмреНрдмреАрдХреНрд╕, рдЕрд╕реНрдерд┐рдмрдВрдзрди рдЧреНрд░рд╛рдлрд╛рдирд╛ ╨╕ Prometheus, рдЬрд╛рдЧрд░, рдЖрдгрд┐ рд╣реЗ рд╕рд░реНрд╡ рд▓реЛрдЦрдВрдбрд╛рдЪреНрдпрд╛ рддреБрдХрдбреНрдпрд╛рдВрд╡рд░ рдлрд┐рд░рдд рд╣реЛрддреЗ HPESXi рд╡рд░ рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░. рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рд╣реЗ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ - рд╢реИрд▓реАрдЪрд╛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

рдЖрдкрдг рд╣реЗ рд╕рд░реНрд╡ рд╣рд╕реНрддрдХреНрд╖реЗрдк рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдХрд╛рдп рдЭрд╛рд▓реЗ рддреЗ рдкрд╛рд╣реВ рдЖрдгрд┐ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВрдпрд╛.

рдХрд╛рдп рдЭрд╛рд▓рдВ

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

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps
рдкреВрд░реНрд╡реА рдпрд╛ рдкрдХреНрдХреНрдпрд╛ рдЦрд┐рдбрдХреНрдпрд╛ рд╣реЛрддреНрдпрд╛. TFS рдиреЗ рдЕрдиреЗрдХ рдмрд┐рд▓реНрдб рдПрдЬрдВрдЯ рд╡рд╛рдкрд░рд▓реЗ, рдЬреЗ рдЕрдиреЗрдХ рдкреНрд░рдХрд▓реНрдк рдПрдХрддреНрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЧреЗрд▓реЗ. рдкреНрд░рддреНрдпреЗрдХ рдПрдЬрдВрдЯрдХрдбреЗ рдХрд╛рд░реНрдпреЗ рд╕рдорд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА 3-4 рдХрд╛рдордЧрд╛рд░ рдЕрд╕рддрд╛рдд. рддреНрдпрд╛рдирдВрддрд░, рд░рд┐рд▓реАрдЭ рдпреЛрдЬрдирд╛рдВрдиреБрд╕рд╛рд░, TFS рдиреЗ Windows рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рддрд╛рдЬреЗ рдмреЗрдХ рдХреЗрд▓реЗрд▓реЗ рдмрд┐рд▓реНрдб рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ.

рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд╕рд╛рдзреНрдп рдХрд░рд╛рдпрдЪреЗ рд╣реЛрддреЗ?

рдЖрдореНрд╣реА рдбрд┐рд▓рд┐рд╡реНрд╣рд░реА рдЖрдгрд┐ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрд╕рд╛рдареА TFS рд╡рд╛рдкрд░рддреЛ рдЖрдгрд┐ рд▓рд┐рдирдХреНрд╕ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд╛рд▓рд╡рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдордзреНрдпреЗ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреА рдЬрд╛рджреВ рдЖрд╣реЗ. рдпрд╛ рдЬрд╛рджреВ рдмреЙрдХреНрд╕ рдЖрдгрд┐ рдкреБрдвреЗ рдХрд╛рдорд╛рдЪреЗ рдореАрда рдЖрд╣реЗ. рдореА рддреЗ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдореА рдПрдХ рдкрд╛рдКрд▓ рдмрд╛рдЬреВрд▓рд╛ рдШреЗрдИрди рдЖрдгрд┐ рдЕрд░реНрдЬрд╛рдмрджреНрджрд▓ рдХрд╛рд╣реА рд╢рдмреНрдж рдмреЛрд▓реЗрди.

рдкреНрд░рдХрд▓реНрдк

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░реАрдкреЗрдб рдХрд╛рд░реНрдб рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЛ.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

рдХреНрд▓рд╛рдпрдВрдЯ

рджреЛрди рдкреНрд░рдХрд╛рд░рдЪреЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╣реЛрддреЗ. рдкрд╣рд┐рд▓рд╛ SSL SHA-2 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд╛рдкрд░реВрди рд▓реЙрдЧ рдЗрди рдХрд░реВрди рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╡рд▓рд╛. рдпреВ рджреБрд╕рд░рд╛ рд▓реЙрдЧрд┐рди рдЖрдгрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд╛рдкрд░реВрди рдкреНрд░рд╡реЗрд╢ рд╣реЛрддрд╛.

рд╣рд╛рдкреНрд░реЛрдХреНрд╕реА

рдордЧ рдХреНрд▓рд╛рдпрдВрдЯрдЪреА рд╡рд┐рдирдВрддреА HAProxy рдХрдбреЗ рдЧреЗрд▓реА, рдЬреНрдпрд╛рдиреЗ рдЦрд╛рд▓реАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ:

  • рдкреНрд░рд╛рдердорд┐рдХ рдЕрдзрд┐рдХреГрддрддрд╛;
  • SSL рд╕рдорд╛рдкреНрддреА;
  • HTTP рд╡рд┐рдирдВрддреНрдпрд╛ рдЯреНрдпреВрди рдХрд░рдгреЗ;
  • рдкреНрд░рд╕рд╛рд░рдг рд╡рд┐рдирдВрддреНрдпрд╛.

рдХреНрд▓рд╛рдпрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд╛рдЦрд│реАрд╕рд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ. рдЖрдореНрд╣реА - рдЕрдзрд┐рдХрд╛рд░ рдЖрдгрд┐ рдЖрдореНрд╣реА рд╣реЗ рдШреЗрдК рд╢рдХрддреЛ, рдХрд╛рд░рдг рдЖрдореНрд╣реА рд╕реНрд╡рддрдГ рд╕реЗрд╡рд╛ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдЬрд╛рд░реА рдХрд░рддреЛ.

рддрд┐рд╕рд▒реНрдпрд╛ рдореБрджреНрджреНрдпрд╛рдХрдбреЗ рд▓рдХреНрд╖ рджреНрдпрд╛, рдЖрдореНрд╣реА рдереЛрдбреНрдпрд╛ рд╡реЗрд│рд╛рдиреЗ рддреНрдпрд╛рдХрдбреЗ рдкрд░рдд рдпреЗрдК.

рдмреЕрдХрдПрдВрдб

рддреНрдпрд╛рдВрдиреА рд▓рд┐рдирдХреНрд╕рд╡рд░ рдмреЕрдХрдПрдВрдб рдмрдирд╡рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрд▓реА. рдмреЕрдХрдПрдВрдб рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЛ, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░рд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХ рдпрд╛рджреА рд▓реЛрдб рдХрд░рддреЛ рдЖрдгрд┐ рдирдВрддрд░, рдЕрдзрд┐рдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдХреЛрдгрддреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдЖрд╣реЗрдд рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, рдЖрд░реНрдерд┐рдХ рджрд╕реНрддрдРрд╡рдЬрд╛рдВрд╡рд░ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╡реЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреЛ рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдкрд╛рдард╡рддреЛ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪрд╛ рдЕрд╣рд╡рд╛рд▓ рддрдпрд╛рд░ рдХрд░рддреЛ.

HAProxy рд╕рд╣ рдмрдЪрдд

рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдиреЗрд╡реНрд╣рд┐рдЧреЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рджреЛрди рд╕рдВрджрд░реНрднрд╛рдВрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдПрдХ рдУрд│рдЦ рд╕рдВрджрд░реНрдн рджреЗрдЦреАрд▓ рд╣реЛрддрд╛. IdentityServer4 рдлрдХреНрдд рддреБрдореНрд╣рд╛рд▓рд╛ рд▓реЙрдЧ рдЗрди рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдпрд╛рд╕рд╛рдареА рд╣реЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрдгрд┐ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЕреЕрдирд╛рд▓реЙрдЧ рдЖрд╣реЗ ADFS - DirectрдХреНрдЯрд┐рд╡ рдбрд┐рд░реЗрдХреНрдЯрд░реА рдлреЗрдбрд░реЗрд╢рди рд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕.

рдУрд│рдЦ рд╡рд┐рдирдВрддреАрд╡рд░ рдЕрдиреЗрдХ рдЪрд░рдгрд╛рдВрдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЧреЗрд▓реА. рдкрд╣рд┐рд▓реА рдкрд╛рдпрд░реА - рдЧреНрд░рд╛рд╣рдХ рдмреЕрдХрдПрдВрдб рдордзреНрдпреЗ рдЖрд▓рд╛, рдЬреНрдпрд╛рдиреЗ рдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрд▓рд╛ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА рдЯреЛрдХрдирдЪреА рдЙрдкрд╕реНрдерд┐рддреА рддрдкрд╛рд╕рд▓реА. рдЬрд░ рддреЗ рд╕рд╛рдкрдбрд▓реЗ рдирд╛рд╣реА, рддрд░ рд╡рд┐рдирдВрддреА рдЬреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рддреВрди рдЖрд▓реА рд╣реЛрддреА рддреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдХрдбреЗ рдкрд░рдд рдХреЗрд▓реА рдЧреЗрд▓реА, рдкрд░рдВрддреБ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рдирд╛рд╕рд╣, рдЖрдгрд┐ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рдирд╛рд╕рд╣ рддреА рдУрд│рдЦреАрдХрдбреЗ рдЧреЗрд▓реА.

рджреБрд╕рд░реА рдкрд╛рдпрд░реА - рд╡рд┐рдирдВрддреА рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реА IdentityServer рдордзреАрд▓ рдЕрдзрд┐рдХреГрддрддрд╛ рдкреГрд╖реНрдард╛рд╡рд░, рдЬреЗрдереЗ рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдиреЛрдВрджрдгреА рдХреЗрд▓реА, рдЖрдгрд┐ рддреЗ рджреАрд░реНрдШ-рдкреНрд░рддреАрдХреНрд╖рд┐рдд рдЯреЛрдХрди рдЖрдпрдбреЗрдВрдЯрд┐рдЯреА рд╕рд░реНрд╡реНрд╣рд░ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рджрд┐рд╕реВрди рдЖрд▓реЗ.

рддрд┐рд╕рд░реА рдкрд╛рдпрд░реА - рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдкрд░рдд рдкрд╛рдард╡рд▓реЗ рдЧреЗрд▓реЗ рдЬреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рддреЗ рдЖрд▓реЗ рдЖрд╣реЗ.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

IdentityServer4 рдЪреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ: рддреЗ HTTP рджреНрд╡рд╛рд░реЗ рд░рд┐рдЯрд░реНрди рд╡рд┐рдирдВрддреАрд▓рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрддреЗ. рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдХрд┐рддреАрд╣реА рд╕рдВрдШрд░реНрд╖ рдХреЗрд▓рд╛, рдЖрдореНрд╣реА рджрд╕реНрддрдРрд╡рдЬрд╛рдВрд╕рд╣ рдХрд┐рддреАрд╣реА рдкреНрд░рдмреЛрдзрди рдХреЗрд▓реЗ рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╛рд╣реА, рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдЖрдореНрд╣рд╛рд▓рд╛ HTTPS рджреНрд╡рд╛рд░реЗ рдЖрд▓реЗрд▓реНрдпрд╛ URL рд╕рд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреНрд▓рд╛рдпрдВрдЯ рд╡рд┐рдирдВрддреА рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реА рдЖрдгрд┐ IdentityServer рдиреЗ рддреЛрдЪ рд╕рдВрджрд░реНрдн рдкрд░рдд рдХреЗрд▓рд╛, рдкрд░рдВрддреБ HTTP рд╕рд╣. рдЖрдореНрд╣рд╛рд▓рд╛ рдзрдХреНрдХрд╛рдЪ рдмрд╕рд▓рд╛! рдЖрдгрд┐ рдЖрдореНрд╣реА рд╣реЗ рд╕рд░реНрд╡ рдУрд│рдЦреАрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рджреНрд╡рд╛рд░реЗ HAProxy рдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ, рдЖрдгрд┐ рд╣реЗрдбрд░рдордзреНрдпреЗ рдЖрдореНрд╣рд╛рд▓рд╛ HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ HTTPS рдордзреНрдпреЗ рд╕реБрдзрд╛рд░рд┐рдд рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ.

рд╕реБрдзрд╛рд░рдгрд╛ рдХрд╛рдп рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдкрдг рдХреБрдареЗ рдмрдЪрдд рдХреЗрд▓реА рдЖрд╣реЗ?

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

рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рд╛рд╡реЗ

рддрд░, рдореА рд╡рдЪрди рджрд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ - рдореЕрдЬрд┐рдХ рдмреЙрдХреНрд╕. рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдзреАрдЪ рд╕рдордЬрд▓реЗ рдЖрд╣реЗ рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ рд▓рд┐рдирдХреНрд╕рдХрдбреЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рд╣рдореА рдЖрд╣реЗ. рдЪрд▓рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЗ рддрдпрд╛рд░ рдХрд░реВ рдЬреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд╛рдп рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

рдХрдардкреБрддрд│реА рдкреНрд░рдХрдЯ рд╣реЛрддреЗ. рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд┐рддрд░реАрдд рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЫрд╛рди рдкрд╛рдХрдХреГрддреА рд▓рд┐рд╣рд┐рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ. рдкреЗрдиреНрд╕рд┐рд▓рдЪрд╛ рд░реЛрд▓ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рджрд╛рдЦрд╡рддреЛ рдХреА рддреЗ рдХрд┐рддреА рдЬрд▓рдж рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ.

рд╡рд┐рддрд░рдг рдкрджреНрдзрдд. рдорд╛рдирдХ RPM рдЖрд╣реЗ. рдкреНрд░рддреНрдпреЗрдХрдЬрдг рд╕рдордЬрддреЛ рдХреА рд▓рд┐рдирдХреНрд╕рдордзреНрдпреЗ рдЖрдкрдг рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдкреНрд░рдХрд▓реНрдк рд╕реНрд╡рддрдГрдЪ, рдЕрд╕реЗрдВрдмреНрд▓реАрдирдВрддрд░, рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдбреАрдПрд▓рдПрд▓ рдлрд╛рдпрд▓реАрдВрдЪрд╛ рд╕рдВрдЪ рд╣реЛрддрд╛. рддреНрдпрд╛рдкреИрдХреА рд╕реБрдорд╛рд░реЗ 150 рд╣реЛрддреЗ, рдкреНрд░рдХрд▓реНрдк рдЦреВрдкрдЪ рдХрдареАрдг рд╣реЛрддрд╛. рдпрд╛ рдмрд╛рдпрдирд░реАрд▓рд╛ RPM рдордзреНрдпреЗ рдкреЕрдХреЗрдЬ рдХрд░рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рддреВрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рд╣рд╛ рдПрдХрдореЗрд╡ рд╕рд╛рдордВрдЬрд╕реНрдпрдкреВрд░реНрдг рдЙрдкрд╛рдп рдЖрд╣реЗ.

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

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

рдЖрдпрдбреЗрдВрдЯрд┐рдЯреА рд╕рд░реНрд╡реНрд╣рд░. ADFS рд╣рд╛ рдЖрдордЪрд╛ рдорд╛рд░реНрдЧ рдирд╛рд╣реА, рдЖрдореНрд╣реА рдореБрдХреНрдд рд╕реНрд░реЛрддрд╛рд╕рд╛рдареА рдЬрд╛рдд рдЖрд╣реЛрдд.

рдЪрд▓рд╛ рдШрдЯрдХрд╛рдВрдордзреВрди рдЬрд╛рдКрдпрд╛.

рдЬрд╛рджреВ рдмреЙрдХреНрд╕

рдЪрд╛рд░ рднрд╛рдЧрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддреЛ.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

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

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

RPM-рд░реЗрдкреЙрдЬрд┐рдЯрд░реА. RPM рдкреЕрдХреЗрдЬреЗрд╕ рдХреБрдареЗрддрд░реА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рд▓реЗ рд╣реЛрддреЗ рдХреА рдЖрдореНрд╣реА рд╕рдорд╛рди рдХреЙрд░реНрдкреЛрд░реЗрдЯ RPM рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╡рд╛рдкрд░реВ рдЬреЗ рд╕рд░реНрд╡ Linux рд╣реЛрд╕реНрдЯрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ. рддреНрдпрд╛рдВрдиреА рддреЗрдЪ рдХреЗрд▓реЗ. рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╕рд░реНрд╡реНрд╣рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рд╡реЗрдмрд╣реВрдХ рдЬреНрдпрд╛рдиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдерд╛рдирд╛рд╡рд░реВрди рдЖрд╡рд╢реНрдпрдХ RPM рдкреЕрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реЗ. рдмрд┐рд▓реНрдб рдПрдЬрдВрдЯрджреНрд╡рд╛рд░реЗ рдкреЕрдХреЗрдЬ рдЖрд╡реГрддреНрддреАрдЪреА рд╡реЗрдмрд╣реБрдХрд▓рд╛ рддрдХреНрд░рд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА.

рдЧрд┐рдЯрд▓реЕрдм. рд▓рдХреНрд╖ рджреНрдпрд╛! GitLab рдпреЗрдереЗ рд╡рд┐рдХрд╕рдХрд╛рдВрджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдСрдкрд░реЗрд╢рдиреНрд╕ рд╡рд┐рднрд╛рдЧрд╛рджреНрд╡рд╛рд░реЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд╡реГрддреНрддреНрдпрд╛, рдкреЕрдХреЗрдЬ рдЖрд╡реГрддреНрддреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕рд░реНрд╡ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрдирдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рддреЗ рд░реЗрд╕рд┐рдкреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ - рд╕рд░реНрд╡ рдкрдкреЗрдЯ рдореЕрдирд┐рдлреЗрд╕реНрдЯ.

рдХрдардкреБрддрд│реА тАФ рд╕рд░реНрд╡ рд╡рд╛рджрдЧреНрд░рд╕реНрдд рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ рдЖрдгрд┐ рдЧрд┐рдЯрд▓реЕрдмрдХрдбреВрди рдЖрдореНрд╣рд╛рд▓рд╛ рд╣рд╡реЗ рдЕрд╕рд▓реЗрд▓реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд┐рддрд░реАрдд рдХрд░рддреЗ.

рдЖрдореНрд╣реА рдбреБрдмрдХреА рдорд╛рд░рдгреНрдпрд╛рд╕ рд╕реБрд░рд╡рд╛рдд рдХрд░рддреЛ. RPM рд╡рд░ DLL рд╡рд┐рддрд░рдг рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ?

RPM рд╡рд░ DDL рд╡рд┐рддрд░рдг

рд╕рдордЬрд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ .NET рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд░реЙрдХ рд╕реНрдЯрд╛рд░ рдЖрд╣реЗ. рд╣реЗ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ рд╡рд╛рдкрд░рддреЗ рдЖрдгрд┐ рдкреНрд░рдХрд╛рд╢рди рд╢рд╛рдЦрд╛ рддрдпрд╛рд░ рдХрд░рддреЗ. рддреНрдпрд╛рдирдВрддрд░, рддреЗ Git рд╡рд░ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ, рдЖрдгрд┐ Git рдпреЗрдереЗ рдПрдХ TFS рдЕрд╕реНрддрд┐рддреНрд╡ рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗрдЪ рддреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднрд╛рдВрдбрд╛рд░ рдЖрд╣реЗ рдЬреНрдпрд╛рд╕рд╣ рд╡рд┐рдХрд╕рдХ рдХрд╛рд░реНрдп рдХрд░рддреЛ.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

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

рдмрд┐рд▓реНрдб рдПрдЬрдВрдЯ рд╕реНрд░реЛрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЛ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рддреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЛ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ .NET рд░реЗрдкреЙрдЬрд┐рдЯрд░реА, npm, рдЗ. рдЖрдгрд┐ ре▓рдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд╡рддрдГ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪреЗ рдкреЕрдХреЗрдЬрд┐рдВрдЧ, RPM рдкреЕрдХреЗрдЬ RPM рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдХрдбреЗ рдкрд╛рдард╡рддреЗ.

рджреБрд╕рд░реАрдХрдбреЗ, рдЦрд╛рд▓реАрд▓ рдШрдбрддреЗ. рдСрдкрд░реЗрд╢рдиреНрд╕ рд╡рд┐рднрд╛рдЧ рдЕрднрд┐рдпрдВрддрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд░реЛрд▓рдЖрдЙрдЯрдордзреНрдпреЗ рдереЗрдЯ рд╕рд╛рдореАрд▓ рдЖрд╣реЗ: рддреЛ рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛ рдмрджрд▓рддреЛ рд╣рд┐рд░рд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдЬреЗрдереЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд░реЗрд╕рд┐рдкреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ, рддреНрдпрд╛рдирдВрддрд░ рдкрдкреЗрдЯ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреЗ рд╣рдВ, рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреВрди рдирд╡реАрди рдкреЕрдХреЗрдЬ рдЖрдгрддреЗ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЖрд╣реЗ.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╢рдмреНрджрд╛рдд рд╕реЛрдкреЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдмрд┐рд▓реНрдб рдПрдЬрдВрдЯрдЪреНрдпрд╛ рдЖрдд рдХрд╛рдп рд╣реЛрддреЗ?

рдкреЕрдХреЗрдЬрд┐рдВрдЧ DLL RPM

TFS рдХрдбреВрди рдкреНрд░рдХрд▓реНрдк рд╕реНрд░реЛрдд рдЖрдгрд┐ рдмрд┐рд▓реНрдб рдЯрд╛рд╕реНрдХ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗ. рдПрдЬрдВрдЯ рддрдпрд╛рд░ рдХрд░рд╛ рд╕реНрддреНрд░реЛрддрд╛рдВрдХрдбреВрдирдЪ рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рддреЗ. рдПрдХрддреНрд░рд┐рдд рдкреНрд░рдХрд▓реНрдк рдПрдХ рд╕рдВрдЪ рдореНрд╣рдгреВрди рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ DLL рдлрд╛рдпрд▓реА, рдЬреЗ рдлрд╛рдИрд▓ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░реАрд▓ рднрд╛рд░ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЭрд┐рдк рдЖрд░реНрдХрд╛рдЗрд╡реНрд╣рдордзреНрдпреЗ рдкреЕрдХ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

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

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

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

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

рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрд╡реГрддреНрддреА

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

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

рдпрд╛ рднрд╛рдЧрд╛рдд рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧреВ рдЗрдЪреНрдЫрд┐рддреЛ рдХреА рдЖрдореНрд╣реА рдбреЗрдЯрд╛рдмреЗрд╕рдЪреА рдЖрд╡реГрддреНрддреА рдХрд╢реА рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрдгрд┐ рдЖрдореНрд╣реА Flyway рдЖрдгрд┐ Entity Framework Core рдордзреАрд▓ рдирд┐рд╡рдб рдХрд╢реА рдХреЗрд▓реА. рдЪрд▓рд╛ рддреНрдпрд╛рдВрдЪреЗ рдлрд╛рдпрджреЗ рдЖрдгрд┐ рддреЛрдЯреЗ рдкрд╛рд╣реВ.

рдорд┐рдирд┐рдиреНрд╕

рдлреНрд▓рд╛рдпрд╡реЗ рдлрдХреНрдд рдПрдХрд╛ рдорд╛рд░реНрдЧрд╛рдиреЗ рдЬрд╛рддреЛ, рдЖрдореНрд╣реА рдЖрдореНрд╣реА рдорд╛рдЧреЗ рдлрд┐рд░реВ рд╢рдХрдд рдирд╛рд╣реА - рд╣реЗ рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдиреБрдХрд╕рд╛рди рдЖрд╣реЗ. рддреБрдореНрд╣реА рддреНрдпрд╛рдЪреА рддреБрд▓рдирд╛ рдЗрддрд░ рдорд╛рд░реНрдЧрд╛рдВрдиреА - рд╡рд┐рдХрд╛рд╕рдХрд╛рдЪреНрдпрд╛ рд╕реЛрдпреАрдиреБрд╕рд╛рд░ Entity Framework Core рд╢реА рдХрд░реВ рд╢рдХрддрд╛. рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдард╡рдд рдЕрд╕реЗрд▓ рдХреА рдЖрдореНрд╣реА рд╣реЗ рдЕрдЧреНрд░рд╕реНрдерд╛рдиреА рдареЗрд╡рд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдореБрдЦреНрдп рдирд┐рдХрд╖ рдореНрд╣рдгрдЬреЗ рд╡рд┐рдВрдбреЛрдЬ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрд╕рд╛рдареА рдХрд╛рд╣реАрд╣реА рдмрджрд▓реВ рдирдпреЗ.

рдлреНрд▓рд╛рдпрд╡реЗ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рд░реЕрдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗрдЬреЗрдгреЗрдХрд░реВрди рдореБрд▓реЗ рд▓рд┐рд╣реВ рдирдпреЗрдд SQL рдХреНрд╡реЗрд░реА. рддреЗ OOP рдЕрдЯреАрдВрдордзреНрдпреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЦреВрдк рдЬрд╡рд│ рдЖрд╣реЗрдд. рдЖрдореНрд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реВрдЪрдирд╛ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛, SQL рдХреНрд╡реЗрд░реА рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрдгрд┐ рддреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реА. рдбреЗрдЯрд╛рдмреЗрд╕рдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рддрдпрд╛рд░ рдЖрд╣реЗ, рдЪрд╛рдЪрдгреА рдХреЗрд▓реА рдЖрд╣реЗ - рд╕рд░реНрд╡рдХрд╛рд╣реА рдареАрдХ рдЖрд╣реЗ, рд╕рд░реНрд╡рдХрд╛рд╣реА рдХрд╛рд░реНрдп рдХрд░рддреЗ.

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

╨Я╨╗╤О╤Б╤Л

рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ, рдЖрдгрд┐ рдлреНрд▓рд╛рдпрд╡реЗ рд╡рд┐рджреНрдпрдорд╛рди CI рдордзреНрдпреЗ рд╕рд╣рдЬрдкрдгреЗ рд╕рдорд╛рдХрд▓рд┐рдд рд╣реЛрддреЗ. рдкрд░рдВрддреБ рдЖрдореНрд╣реА рддреЗ рд╡рд┐рдХрд╕рдХрд╛рдВрд╕рд╛рдареА рд╕реЛрдпреАрд╕реНрдХрд░ рдмрдирд╡рддреЛ :)

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

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

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

TFS рд╕рдорд╕реНрдпрд╛

рдЖрдореНтАНрд╣реА рдард░рд╡рд▓реНтАНрдпрд╛рдирдВрддрд░ рдЖрдгрд┐ рд╕рд░реНрд╡рдХрд╛рд╣реА рдЦрд░реЛрдЦрд░рдЪ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдп рдХрд░рдд рдЖрд╣реЗ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реНтАНрдпрд╛рдирдВрддрд░, рдореА рдЗрддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╡рд░реАрд▓ рд╡рд┐рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯрд╕рд╛рдареА рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ TFS рдордзреАрд▓ рдЕрд╕реЗрдВрдмреНрд▓реАрдордзреНрдпреЗ рдХрд╛рдп рдЪрд╛рд▓рд▓реЗ рдЖрд╣реЗ рддреЗ рдкрд╛рд╣рдгреНтАНрдпрд╛рдЪреЗ рдард░рд╡рд▓реЗ - рдЖрдореНтАНрд╣реА рддреНтАНрд╡рд░рд┐рддрдкрдгреЗ рддрдпрд╛рд░/рд░рд┐рд▓реАрдЬ рдХрд░рдд рдЖрд╣реЛрдд рдХреА рдирд╛рд╣реА, рдЖрдгрд┐ рдЧрддреАрд╕рд╣ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рд╢реЛрдзрд▓реНрдпрд╛.

рдореБрдЦреНрдп рдкреНрд░рдХрд▓реНрдкрд╛рдВрдкреИрдХреА рдПрдХрд╛рд▓рд╛ рдЬрдордгреНрдпрд╛рд╕рд╛рдареА 12-15 рдорд┐рдирд┐рдЯреЗ рд▓рд╛рдЧрддрд╛рдд - рддреЛ рдмрд░рд╛рдЪ рдХрд╛рд│ рдЖрд╣реЗ, рдЖрдкрдг рдЕрд╕реЗ рдЬрдЧреВ рд╢рдХрдд рдирд╛рд╣реА. рджреНрд░реБрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдиреЗ I/O рдордзреНрдпреЗ рднрдпрдВрдХрд░ рдШрдЯ рджрд░реНрд╢рд╡рд┐рд▓реА рдЖрдгрд┐ рд╣реЗ рдЕреЕрд░реЗрд╡рд░ рд╣реЛрддреЗ.

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

рддрд┐рд╕рд░рд╝реНрдпрд╛ - рдПрдирдкреАрдПрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛. рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдмрд╣реБрддреЗрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдордзреНрдпреЗ рдЖрдореНрд╣реА рд╣реА рдЕрдЪреВрдХ рдкрд░рд┐рд╕реНрдерд┐рддреА рд╡рд╛рдкрд░рд▓реА рдЖрд╣реЗ. рддреЛ рд╡рд╛рдИрдЯ рдХрд╛ рдЖрд╣реЗ? рдЬреЗрд╡реНрд╣рд╛ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╡реГрдХреНрд╖ рддрдпрд╛рд░ рд╣реЛрддреЛ рддреЗрд╡реНрд╣рд╛ Npm рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд▓рд╡рд┐рд▓реА рдЬрд╛рддреЗ package-lock.json, рдЬреЗрдереЗ рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рдирдХрд╛рд░рд╛рддреНрдордХ рдмрд╛рдЬреВ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдПрдирдкреАрдПрдо рдЗрдВрд╕реНрдЯреЙрд▓ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реВрди рдкреЕрдХреЗрдЬреЗрд╕рдЪреНрдпрд╛ рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреНрдпрд╛ рдХрд╛рдврддреЗ рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдпрд╛рд╕ рдмрд░рд╛рдЪ рд╡реЗрд│ рд▓рд╛рдЧрддреЛ.

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

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

  • AV рдЕрдкрд╡рд╛рдж рдордзреНрдпреЗ рд╕реНрд░реЛрдд.
  • рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрдХреНрд╖рдо рдХрд░рд╛.
  • рдЬрд╛ npm ci.

npm ci рдЪреЗ рдлрд╛рдпрджреЗ рдореНрд╣рдгрдЬреЗ рдЖрдореНрд╣реА рдЖрдореНрд╣реА рдПрдХрджрд╛ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╡реГрдХреНрд╖ рдЧреЛрд│рд╛ рдХрд░рддреЛ, рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдХрд╕рдХ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдорд┐рд│рддреЗ рдкреЕрдХреЗрдЬрдЪреА рд╡рд░реНрддрдорд╛рди рдпрд╛рджреА, рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рддреЛ рддреНрдпрд╛рд▓рд╛ рдЖрд╡рдбреЗрд▓ рддрд┐рддрдХрд╛ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдпреЛрдЧ рдХрд░реВ рд╢рдХрддреЛ. рдпрд╛ рд╡реЗрд│ рд╡рд╛рдЪрд╡рддреЛ рд╡рд┐рдХрд╛рд╕рдХ рдЬреЗ рдХреЛрдб рд▓рд┐рд╣рд┐рддрд╛рдд.

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди

рдЖрддрд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдмрджреНрджрд▓ рдереЛрдбреЗрд╕реЗ. рдРрддрд┐рд╣рд╛рд╕рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рдЖрдкрдг рд╡рд╛рдкрд░рддреЛ Nexus рднрд╛рдВрдбрд╛рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдпрд╛рд╕рд╣ рдЕрдВрддрд░реНрдЧрдд REPO. рдпрд╛ рдЕрдВрддрд░реНрдЧрдд рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд╕рд░реНрд╡ рдШрдЯрдХ рдЕрд╕рддрд╛рдд рдЬреЗ рдЖрдореНрд╣реА рдЕрдВрддрд░реНрдЧрдд рд╣реЗрддреВрдВрд╕рд╛рдареА рд╡рд╛рдкрд░рддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдирд┐рд░реАрдХреНрд╖рдг.

Linux рд╡рд░ .NET Core, рдШреЛрдбреНрдпрд╛рд╡рд░ DevOps

рдЖрдореНрд╣реА рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рддреЛ рдиреНрдпреВрдЬреАрдЯ, рдХрд╛рд░рдг рдЗрддрд░ рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдВрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рддреНрдпрд╛рдд рдЙрддреНрддрдо рдХреЕрд╢рд┐рдВрдЧ рдЖрд╣реЗ.

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

рдЖрдореНрд╣реА рдмрд┐рд▓реНрдб рдПрдЬрдВрдЯреНрд╕ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рд╕рд░рд╛рд╕рд░реА рдмрд┐рд▓реНрдб рд╡реЗрд│ 12 рдорд┐рдирд┐рдЯрд╛рдВрд╡рд░реВрди 7 рдкрд░реНрдпрдВрдд рдХрдореА рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛.

рдЬрд░ рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдорд╢реАрдиреНрд╕ рдореЛрдЬрд▓реНрдпрд╛ рдЬреНрдпрд╛ рдЖрдореНрд╣реА рд╡рд┐рдВрдбреЛрдЬрд╕рд╛рдареА рд╡рд╛рдкрд░реВ рд╢рдХрд▓реЛ рдЕрд╕рддреЛ, рдкрд░рдВрддреБ рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдд рд▓рд┐рдирдХреНрд╕рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХреЗрд▓реЗ рддрд░ рдЖрдореНрд╣реА рд╕реБрдорд╛рд░реЗ $10 рд╡рд╛рдЪрд╡рддреЛ. рдЖрдгрд┐ рддреЗ рдлрдХреНрдд рдкрд░рд╡рд╛рдиреНрдпрд╛рдВрд╡рд░ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рд╕рд╛рдордЧреНрд░реА рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реНрдпрд╛рд╕ рдЕрдзрд┐рдХ.

рдпреЛрдЬрдирд╛

рдкреБрдвреАрд▓ рддрд┐рдорд╛рд╣реАрд╕рд╛рдареА, рдЖрдореНрд╣реА рдХреЛрдб рд╡рд┐рддрд░рдг рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрд▓реА рдЖрд╣реЗ.

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

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

рдореА рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рд╡рд┐рдВрдбреЛрдЬ рдлреЗрдХреВрди рджреЗрдгреНрдпрд╛рд╕ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЛ, рдкрд░рдВрддреБ рдЕрд╕реЗ рдирд╛рд╣реА рдХрд╛рд░рдг рдорд▓рд╛ рддреЗ рдХрд╕реЗ рд╢рд┐рдЬрд╡рд╛рдпрдЪреЗ рд╣реЗ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА. рдХрд╛рд░рдг рдмрд╣реБрддреЗрдХ Opensource рдЙрдкрд╛рдп рдЖрд╣реЗрдд рд▓рд┐рдирдХреНрд╕ рд╕реНрдЯреЕрдХ. рддреВ рдареАрдХ рдЖрд╣реЗрд╕ рдирд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╡рд░ рдмрдЪрдд рдХрд░рд╛. рдорд╛рдЭреНрдпрд╛ рдорддреЗ, рднрд╡рд┐рд╖реНрдп рд╣реЗ рдПрдХрд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рдореБрджрд╛рдпрд╛рд╕рд╣ рд▓рд┐рдирдХреНрд╕рд╡рд░реАрд▓ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдЪреЗ рдЖрд╣реЗ.

рдЕрд▓реЗрдХреНрдЭрд╛рдВрдбрд░ рд╕рд┐рдВрдЪрд┐рдиреЛрд╡реНрд╣рдЪреЗ рд╕реНрдкреАрдХрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓ GitHub рд╡рд░.

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛