.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…ΠΌΠ΅ DevOps възмоТно Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅. БяхмС 8 Π΄ΡƒΡˆΠΈ, Π° Вася бСшС Π½Π°ΠΉ-готиният Π½Π° Windows. ИзвСднъТ Вася си Ρ‚Ρ€ΡŠΠ³Π½Π° ΠΈ Π°Π· ΠΈΠΌΠ°Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΄Π° стартирам Π½ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ сС доставя ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Windows. ΠšΠΎΠ³Π°Ρ‚ΠΎ изсипах цСлия стСк Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Windows Π½Π° масата, ΠΎΡΡŠΠ·Π½Π°Ρ…, Ρ‡Π΅ ситуацията Π΅ мъка ...

Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π²Π° историята АлСксандра Π‘ΠΈΠ½Ρ‡ΠΈΠ½ΠΎΠ²Π° Π½Π° DevOpsConf. ΠšΠΎΠ³Π°Ρ‚ΠΎ водСщият Windows спСциалист напусна компанията, ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ сС Ρ‡ΡƒΠ΄Π΅ΡˆΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈ сСга. ΠŸΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ към Linux, Ρ€Π°Π·Π±ΠΈΡ€Π° сС! ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ успя Π΄Π° създадС ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ ΠΈ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈ част ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Windows към Linux, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° 100 000 ΠΊΡ€Π°ΠΉΠ½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

Как лСсно Π΄Π° доставятС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° RPM с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° TFS, Puppet, Linux .NET ядро? Как Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌ вСрсията Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π°ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Ρ‡ΡƒΠ²Π° Π΄ΡƒΠΌΠΈΡ‚Π΅ Postgres ΠΈ Flyway Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚, Π° крайният срок Π΅ Π²Π΄Ρ€ΡƒΠ³ΠΈΠ΄Π΅Π½? Как Π΄Π° сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°ΠΌ с Docker? Как Π΄Π° ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ .NET Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° сС ΠΎΡ‚ΠΊΠ°ΠΆΠ°Ρ‚ ΠΎΡ‚ Windows ΠΈ смутитата Π² ΠΏΠΎΠ»Π·Π° Π½Π° Puppet ΠΈ Linux? Как Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌ идСологичСски ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ, Π°ΠΊΠΎ няма сила, няма ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, няма рСсурси Π·Π° обслуТванС Π½Π° Windows Π² производството? Π—Π° Ρ‚ΠΎΠ²Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° Web Deploy, тСстванС, CI, Π·Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈΡ‚Π΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° TFS Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π·Π° счупСни ΠΏΠ°Ρ‚Π΅Ρ€ΠΈΡ†ΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π² стСнограмата Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€.


И Ρ‚Π°ΠΊΠ°, Вася си Ρ‚Ρ€ΡŠΠ³Π½Π°, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠΌΠ΅Π½, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Ρ‡Π°ΠΊΠ°Ρ‚ Π½Π΅Ρ‚ΡŠΡ€ΠΏΠ΅Π»ΠΈΠ²ΠΎ с Π²ΠΈΠ»ΠΈ. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π½Π°ΠΉ-накрая Ρ€Π°Π·Π±Ρ€Π°Ρ…, Ρ‡Π΅ Вася Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π²ΡŠΡ€Π½Π°Ρ‚, сС Π·Π°Π΅Ρ… с Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°. ΠšΠ°Ρ‚ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€Π΅Ρ†Π΅Π½ΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π½Π° Win VM Π² нашия Ρ„Π»ΠΎΡ‚. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ Π½Π΅ бСшС Π² ΠΏΠΎΠ»Π·Π° Π½Π° Windows.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

Въй ΠΊΠ°Ρ‚ΠΎ Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ DevOps, Ρ€Π°Π·Π±Ρ€Π°Ρ…, Ρ‡Π΅ Π½Π΅Ρ‰ΠΎ трябва Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π° ΠΈΠ·Π²Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ИмашС само Π΅Π΄Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ - Π°ΠΊΠΎ Π΅ възмоТно, ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Ρ‚Π΅ всичко Π½Π° Linux. Google ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π° - ΠΏΠΎ Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ .Net Π²Π΅Ρ‡Π΅ бСшС прСнСсСн към Linux ΠΈ Ρ€Π°Π·Π±Ρ€Π°Ρ…, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ!

Π—Π°Ρ‰ΠΎ .NET core във Π²Ρ€ΡŠΠ·ΠΊΠ° с Linux?

ИмашС няколко ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°. ΠœΠ΅ΠΆΠ΄Ρƒ β€žΠΏΠ»Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€ΠΈβ€œ ΠΈ β€žΠ½Π΅ΠΏΠ»Π°Ρ‰Π°Π½Π΅β€œ мнозинството Ρ‰Π΅ ΠΈΠ·Π±Π΅Ρ€Π΅ Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ - ΠΊΠ°Ρ‚ΠΎ ΠΌΠ΅Π½. Π›ΠΈΡ†Π΅Π½Π·ΡŠΡ‚ Π·Π° MSDB струва ΠΎΠΊΠΎΠ»ΠΎ $1, Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини с Windows струва стотици Π΄ΠΎΠ»Π°Ρ€ΠΈ. Π—Π° голяма компания Ρ‚ΠΎΠ²Π° Π΅ голям Ρ€Π°Π·Ρ…ΠΎΠ΄. Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ спСстявания - ΠΏΡŠΡ€Π²Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°. НС Π½Π°ΠΉ-ваТният, Π½ΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΠΉ-Π·Π½Π°Ρ‡ΠΈΠΌΠΈΡ‚Π΅.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини Π½Π° Windows Π·Π°Π΅ΠΌΠ°Ρ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСсурси ΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΡΡŠΠ±Ρ€Π°Ρ‚Ρ Π½Π° Linux - Ρ‚Π΅ΠΆΠΊΠΈ са. ΠŸΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° голяма компания, Π½ΠΈΠ΅ ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ Linux.

БистСмата просто сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ CI. БмятамС сС Π·Π° прогрСсивСн DevOps, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Bamboo, Jenkins ΠΈ GitLab CI, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ нас са Π½Π° Linux.

ΠŸΠΎΡΠ»Π΅Π΄Π½Π°Ρ‚Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΅ ΡƒΠ΄ΠΎΠ±Π΅Π½ ΡΡŠΠΏΡ€ΠΎΠ²ΠΎΠ΄. Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΠΏΡ€Π°Π³Π° Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π½Π° "maintainers" - ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ тСхничСската част, осигуряват приСмствСност ΠΈ обслуТват услуги ΠΎΡ‚ Π²Ρ‚ΠΎΡ€Π° линия. Π’Π΅ Π²Π΅Ρ‡Π΅ бяха Π·Π°ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ със стСка Π½Π° Linux, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π·Π° тях Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсно Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ новия ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚, вмСсто Π΄Π° Ρ…Π°Ρ€Ρ‡Π°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ рСсурси, Π·Π° Π΄Π° сС справят с ΠΏΠΎΠ΄ΠΎΠ±Π½Π° функционалност Π½Π° софтуСра Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Windows.

Изисквания

ΠŸΡŠΡ€Π²ΠΎ ΠΈ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎ - удобство Π½Π° Π½ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. НС всички ΠΎΡ‚ тях бяха Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π·Π° промяна, особСно слСд ΠΈΠ·Π³ΠΎΠ²ΠΎΡ€Π΅Π½Π°Ρ‚Π° Π΄ΡƒΠΌΠ° Linux. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ искат Π»ΡŽΠ±ΠΈΠΌΠΎΡ‚ΠΎ си Visual Studio, TFS с Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ тСстовС Π·Π° компилация ΠΈ смутита. Π—Π° тях Π½Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊ става доставката Π΄ΠΎ производството. Π—Π°Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° Π½Π΅ промСнямС обичайния процСс ΠΈ Π΄Π° оставим всичко Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Windows.

Врябва Π½ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ CI. РСлситС Π²Π΅Ρ‡Π΅ бяха Ρ‚Π°ΠΌ ΠΈ цялата Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ, ΠΊΠ°Ρ‚ΠΎ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° систСмата Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията, ΠΏΡ€ΠΈΠ΅Ρ‚ΠΈΡ‚Π΅ стандарти Π·Π° доставка ΠΈ систСмитС Π·Π° наблюдСниС.

ЛСсна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΈ Сксплоатация, ΠΊΠ°Ρ‚ΠΎ условиС Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π²Ρ…ΠΎΠ΄Π΅Π½ ΠΏΡ€Π°Π³ Π·Π° всички Π½ΠΎΠ²ΠΈ участници ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚Π΄Π΅Π»ΠΈ ΠΈ ΠΎΡ‚Π΄Π΅Π»Π° Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°.

ΠšΡ€Π°Π΅Π½ срок - Π²Ρ‡Π΅Ρ€Π°.

Π‘ΠΏΠ΅Ρ‡Π΅Π»Π΅Ρ‚Π΅ Π³Ρ€ΡƒΠΏΠ° Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

Какво ΠΏΡ€Π°Π²Π΅ΡˆΠ΅ Ρ‚ΠΎΠ³Π°Π²Π° Π΅ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Windows?

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

Π‘Π΅Π³Π° ΠΌΠΎΠ³Π° ΡƒΠ²Π΅Ρ€Π΅Π½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠ°ΠΆΠ° IdentityServer4 Π΅ страхотна Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ADFS с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ ΠΈ Π΄Π° Π΅ Π―Π΄Ρ€ΠΎ Π½Π° Entity Framework - Ρ€Π°ΠΉ Π·Π° програмист, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π΅ си ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚Ρ€ΡƒΠ΄Π° Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ SQL скриптовС, Π½ΠΎ Π΄Π° описватС заявки Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° OOP. Но Ρ‚ΠΎΠ³Π°Π²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΎΠ±ΡΡŠΠΆΠ΄Π°Ρ… ΠΏΠ»Π°Π½Π° Π·Π° дСйствиС, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Ρ… Π½Π° Ρ‚ΠΎΠ·ΠΈ стСк ΠΊΠ°Ρ‚ΠΎ Π½Π° ΡˆΡƒΠΌΠ΅Ρ€ΡΠΊΠΈ клинопис, Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°ΠΉΠΊΠΈ само PostgreSQL ΠΈ Git.

По Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠšΡƒΠΊΠ»Π° Π½Π° ΠΊΠΎΠ½Ρ†ΠΈ ΠΊΠ°Ρ‚ΠΎ систСма Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията. Π’ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ смС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ GitLab CI, ЕластичСн, балансиранС Π½Π° високо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΈ услуги с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° HAProxy слСдСшС всичко Zabbix, Π²ΡŠΡ€Π·ΠΎΠΏΠΈ Π“Ρ€Π°Ρ„Π°Π½Π° ΠΈ ΠŸΡ€ΠΎΠΌΠ΅Ρ‚Π΅ΠΉ, Π•Π³Π΅Ρ€ΠΎΠ²Π° Ρ‚ΡŠΠΊΠ°Π½, ΠΈ всичко Ρ‚ΠΎΠ²Π° сС Π²ΡŠΡ€Ρ‚Π΅ΡˆΠ΅ Π½Π° ΠΏΠ°Ρ€Ρ‡Π΅Ρ‚Π° ТСлязо HPESXi Π½Π° VMware. ВсСки Π·Π½Π°Π΅ - класика Π½Π° ΠΆΠ°Π½Ρ€Π°.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

НСка Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΈ Π΄Π° сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ сС Π΅ случило, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ всички Ρ‚Π΅Π·ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π΅Π½Ρ†ΠΈΠΈ.

Какво стана

TFS Π΅ доста ΠΌΠΎΡ‰Π½Π° систСма, която Π½Π΅ само доставя ΠΊΠΎΠ΄ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π΄ΠΎ ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° производствСна машина, Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠΌΠ° Π½Π°Π±ΠΎΡ€ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ гъвкава интСграция с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ услуги - Π·Π° прСдоставянС Π½Π° CI Π½Π° кросплатформСно Π½ΠΈΠ²ΠΎ.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½
ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° бяха Ρ‚Π²ΡŠΡ€Π΄ΠΈ Π²Π΅Π½Ρ‚ΠΈΠ»Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΎΡ‚Π²ΠΎΡ€ΠΈ. TFS ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° няколко Π°Π³Π΅Π½Ρ‚ΠΈ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ…Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. ВсСки Π°Π³Π΅Π½Ρ‚ ΠΈΠΌΠ° 3-4 Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° процСса. ОсвСн Ρ‚ΠΎΠ²Π°, спорСд ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅, TFS достави прясно ΠΈΠ·ΠΏΠ΅Ρ‡Π΅Π½Π°Ρ‚Π° компилация Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° прилоТСния Π½Π° Windows.

КъдС искахмС Π΄Π° ΠΎΡ‚ΠΈΠ΄Π΅ΠΌ

ИзползвамС TFS Π·Π° доставка ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ изпълнявамС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° прилоТСния Π½Π° Linux ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ тях ΠΈΠΌΠ° някаква магия. Π’ΠΎΠ²Π° ΠœΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠ° кутия ΠΈ Ρ‚Π°ΠΌ Π΅ солта Π½Π° прСдстоящата Ρ€Π°Π±ΠΎΡ‚Π°. ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° Π³ΠΎ разглобя, Ρ‰Π΅ направя ΠΊΡ€Π°Ρ‡ΠΊΠ° встрани ΠΈ Ρ‰Π΅ ΠΊΠ°ΠΆΠ° няколко Π΄ΡƒΠΌΠΈ Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ прСдоставя функционалност Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€Π΅Π΄ΠΏΠ»Π°Ρ‚Π΅Π½ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

УдовлСтворСност

ИмашС Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. ΠŸΡŠΡ€Π²ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Ρ‡Ρ€Π΅Π· Π²Π»ΠΈΠ·Π°Π½Π΅ с SSL SHA-2 сСртификат. ΠŸΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ бСшС Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ с потрСбитСлско ΠΈΠΌΠ΅ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π°.

HAProxy

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° клиСнтската заявка ΠΎΡ‚ΠΈΠ΄Π΅ Π΄ΠΎ HAProxy, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π΅ΡˆΠΈ слСднитС Π·Π°Π΄Π°Ρ‡ΠΈ:

  • ΠΏΡŠΡ€Π²ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅;
  • прСкратяванС Π½Π° SSL;
  • настройка Π½Π° HTTP заявки;
  • поискайтС ΠΏΡ€Π΅Π²ΠΎΠ΄.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π° клиСнтския сСртификат Π²ΡŠΡ€Π²Π΅ΡˆΠ΅ ΠΏΠΎ Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π°. Π½ΠΈΠ΅ - власт ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° си Π³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ сами ΠΈΠ·Π΄Π°Π²Π°ΠΌΠ΅ сСртификати Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° услугата.

ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°, ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-късно Ρ‰Π΅ сС Π²ΡŠΡ€Π½Π΅ΠΌ към нСя.

Π±Π΅ΠΊΠ΅Π½Π΄Π°

Π‘Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ бСшС ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ Π΄Π° бъдС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ Π½Π° Linux. Π‘Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ взаимодСйства с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π·Π°Ρ€Π΅ΠΆΠ΄Π° нСобходимия списък с ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΈ слСд Ρ‚ΠΎΠ²Π°, Π² зависимост ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΈΠΌΠ° оторизираният ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», прСдоставя Π΄ΠΎΡΡ‚ΡŠΠΏ Π·Π° подписванС Π½Π° финансови Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ ΠΈΠΌ Π·Π° изпълнСниС ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° някакъв Π²ΠΈΠ΄ ΠΎΡ‚Ρ‡Π΅Ρ‚.

БпСстявания с HAProxy

Π’ допълнСниС към Π΄Π²Π°Ρ‚Π° контСкста, Π² ΠΊΠΎΠΈΡ‚ΠΎ всСки ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π²ΡŠΡ€Π²Π΅ΡˆΠ΅, имашС ΠΈ контСкст Π½Π° идСнтичност. IdentityServer4 просто Π²ΠΈ позволява Π΄Π° Π²Π»Π΅Π·Π΅Ρ‚Π΅, Ρ‚ΠΎΠ²Π° Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ ΠΈ ΠΌΠΎΡ‰Π΅Π½ Π°Π½Π°Π»ΠΎΠ³ Π·Π° ADFS - Услуги Π·Π° фСдСрация Π½Π° Active Directory.

Заявката Π·Π° самоличност бСшС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° Π½Π° няколко ΡΡ‚ΡŠΠΏΠΊΠΈ. ΠŸΡŠΡ€Π²Π° ΡΡ‚ΡŠΠΏΠΊΠ° - ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΡƒΠ΄Π°Ρ€ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠΈΡ€Π° с Ρ‚ΠΎΠ·ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ провСрява Π·Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½ Π·Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Ако Π½Π΅ Π³ΠΎ Π½Π°ΠΌΠ΅Ρ€ΠΈ, заявката сС Π²Ρ€ΡŠΡ‰Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ към контСкста, ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ΄Π²Π°, Π½ΠΎ с прСнасочванС, Π° с прСнасочванС ΠΎΡ‚ΠΈΠ²Π° към самоличност.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° - заявката Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° към страницата Π·Π° оторизация Π² IdentityServer, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ сС рСгистрира ΠΈ Π΄ΡŠΠ»Π³ΠΎΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΈΡΡ‚ Ρ‚ΠΎΠΊΠ΅Π½ сС появи Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° IdentityServer.

Ρ‚Ρ€Π΅Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° - ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π΅ прСнасочСн ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ към контСкста, ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ΄Π²Π°.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

IdentityServer4 ΠΈΠΌΠ° функция: Ρ‚ΠΎΠΉ Π²Ρ€ΡŠΡ‰Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π° Π½Π° заявката Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Ρ‡Ρ€Π΅Π· HTTP. ΠšΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈ Π΄Π° сС Π±ΠΎΡ€Π΅Ρ…ΠΌΠ΅ с настройката Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈ просвСтСна Π΄Π° бСшС докумСнтацията, всСки ΠΏΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ…ΠΌΠ΅ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π°Ρ‚Π° клиСнтска заявка с URL адрСс, ΠΈΠ΄Π²Π°Ρ‰ ΠΏΡ€Π΅Π· HTTPS, ΠΈ IdentityServer Π²Ρ€ΡŠΡ‰Π°ΡˆΠ΅ ΡΡŠΡ‰ΠΈΡ контСкст, Π½ΠΎ с HTTP. БяхмС ΡˆΠΎΠΊΠΈΡ€Π°Π½ΠΈ! И ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ…ΠΌΠ΅ всичко Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π· контСкста Π½Π° самоличността към HAProxy ΠΈ Π² Π·Π°Π³Π»Π°Π²ΠΊΠΈΡ‚Π΅ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ HTTP ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π½Π° HTTPS.

Какво Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ къдС спСстихтС?

БпСстихмС ΠΏΠ°Ρ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€ΡƒΠΏΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, рСсурси, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π΅ ΠΈΠ·Π²Π°Π΄ΠΈΡ…ΠΌΠ΅ IdentityServer4 ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ възСл Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ сСгмСнт, Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Π·Π°Π΅Π΄Π½ΠΎ с Π±Π΅ΠΊΠ΅Π½Π΄Π° Π½Π° ΡΡŠΡ‰ΠΈΡ ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ .

Как трябва Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ

И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΠ±Π΅Ρ‰Π°Ρ… - Magic Box. Π’Π΅Ρ‡Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ Ρ‰Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към Linux. НСка Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈ.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

ΠšΡƒΠΊΠ»Π΅Π½ΠΈ манифСсти. Π—Π° Π΄Π° доставитС ΠΈ управляватС конфигурацията Π½Π° услугата ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ страхотни Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΈ. Π ΠΎΠ»ΠΊΠ°Ρ‚Π° с ΠΌΠΎΠ»ΠΈΠ² краснорСчиво ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ Π±ΡŠΡ€Π·ΠΎ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π° доставка. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ΡŠΡ‚ Π΅ RPM. ВсСки Ρ€Π°Π·Π±ΠΈΡ€Π°, Ρ‡Π΅ Π² Linux няма Π½Π°Ρ‡ΠΈΠ½ Π±Π΅Π· Π½Π΅Π³ΠΎ, Π½ΠΎ самият ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ слСд сглобяванСто бСшС Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ изпълними DLL Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Бяха ΠΎΠΊΠΎΠ»ΠΎ 150, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ доста Ρ‚Π΅ΠΆΡŠΠΊ. ЕдинствСното Ρ…Π°Ρ€ΠΌΠΎΠ½ΠΈΡ‡Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅ Π΄Π° ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚Π΅ Ρ‚ΠΎΠ·ΠΈ Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ» Π² RPM ΠΈ Π΄Π° Ρ€Π°Π·Π³ΡŠΡ€Π½Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ Π½Π΅Π³ΠΎ.

ВСрсиониранС. Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° пускамС ΠΌΠ½ΠΎΠ³ΠΎ чСсто ΠΈ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ ΠΊΠ°ΠΊ Π΄Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°ΠΌΠ΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π’ΠΎΠ²Π° Π΅ Π²ΡŠΠΏΡ€ΠΎΡ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° интСграция с TFS. Π˜ΠΌΠ°Ρ…ΠΌΠ΅ Π°Π³Π΅Π½Ρ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Linux. ΠšΠΎΠ³Π°Ρ‚ΠΎ TFS ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ - worker - Π½Π° Build Π°Π³Π΅Π½Ρ‚Π°, Ρ‚ΠΎΠΉ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΌΡƒ ΠΏΡ€Π΅Π΄Π°Π²Π° ΠΊΡƒΠΏ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ Π² срСдата Π½Π° процСса Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π°. На Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ ΠΈΠΌΠ΅ Π½Π° компилация, ΠΈΠΌΠ΅ Π½Π° вСрсия ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° Π² Ρ€Π°Π·Π΄Π΅Π»Π° "ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° RPM ΠΏΠ°ΠΊΠ΅Ρ‚".

Настройка Π½Π° TFS сС свСдС Π΄ΠΎ настройка Π½Π° Pipeline. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ…ΠΌΠ΅ всички ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Windows Π½Π° Windows Π°Π³Π΅Π½Ρ‚ΠΈ, Π° сСга сС появява Linux Π°Π³Π΅Π½Ρ‚ - Build Π°Π³Π΅Π½Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° бъдС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅, ΠΎΠ±ΠΎΠ³Π°Ρ‚Π΅Π½ с някои Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ, Π·Π° Π΄Π° ΠΊΠ°ΠΆΠ΅ какъв Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π½Π° Ρ‚ΠΎΠ·ΠΈ Build Π°Π³Π΅Π½Ρ‚, ΠΈ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚Π΅ Pipeline.

IdentityServer. ADFS Π½Π΅ Π΅ Π½Π°ΡˆΠΈΡΡ‚ Π½Π°Ρ‡ΠΈΠ½, Π½ΠΈΠ΅ сС Π΄Π°Π²ΠΈΠΌ Π·Π° Open Source.

Π”Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡ€Π΅Π· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅.

ΠœΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠ° кутия

Π‘ΡŠΡΡ‚ΠΎΠΈ сС ΠΎΡ‚ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ части.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

АгСнт Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Linux. Linux, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ΅ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ Π·Π° Π½Π΅Π³ΠΎ - Ρ‚ΠΎΠ²Π° Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ. Π’Π°Π·ΠΈ част бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½Π° Π² Ρ‚Ρ€ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ.

  • НастройтС Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ Π° Π½Π΅ Π΅Π΄ΠΈΠ½, ΠΊΠ°ΠΊΡ‚ΠΎ сС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡˆΠ΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ .NET Core 1.x. Π—Π°Ρ‰ΠΎ 1.x, ΠΊΠΎΠ³Π°Ρ‚ΠΎ 2.0 Π²Π΅Ρ‡Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ Π² стандартното Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅? Π—Π°Ρ‰ΠΎΡ‚ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°, стабилната вСрсия бСшС 1.09 ΠΈ бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π° нСя.
  • Git 2.x.

RPM Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. RPM ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ някъдС. Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎ RPM Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ Π·Π° всички Linux хостовС. Π’Π°ΠΊΠ° ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…Π°. Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ ΡƒΠ΅Π± ΠΊΡƒΠΊΠ° ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΠ» нСобходимия RPM ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚ посочСното място. ВСрсията Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° webhook бСшС Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Π½Π° ΠΎΡ‚ Π°Π³Π΅Π½Ρ‚Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅.

gitlab. Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! GitLab сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΡƒΠΊ Π½Π΅ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, Π° ΠΎΡ‚ опСративния ΠΎΡ‚Π΄Π΅Π» Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС Π½Π° прилоТСнията, вСрсиитС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° всички Linux машини ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π°Ρ‚Π° - всички манифСсти Π½Π° Puppet.

ΠšΡƒΠΊΠ»Π° Π½Π° ΠΊΠΎΠ½Ρ†ΠΈ - Ρ€Π΅ΡˆΠ°Π²Π° всички спорни Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ доставя Ρ‚ΠΎΡ‡Π½ΠΎ конфигурацията, която искамС ΠΎΡ‚ Gitlab.

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° сС Π³ΠΌΡƒΡ€ΠΊΠ°ΠΌΠ΅. Как DLL сС доставя Π½Π° RPM?

ДоставянС Π½Π° DDL към RPM

Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€ΠΎΠΊ Π·Π²Π΅Π·Π΄Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° .NET. Π’ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Visual Studio ΠΈ създава ΠΊΠ»ΠΎΠ½ Π·Π° освобоТдаванС. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π³ΠΎ ΠΊΠ°Ρ‡Π²Π° Π² Git, Π° Git Ρ‚ΡƒΠΊ Π΅ TFS ΠΎΠ±Π΅ΠΊΡ‚, тоСст Ρ‚ΠΎΠ²Π° Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, с ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

Π’ΠΎΠ³Π°Π²Π° TFS Π²ΠΈΠΆΠ΄Π°, Ρ‡Π΅ Π΅ пристигнал Π½ΠΎΠ² Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚. КоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅? Π’ настройкитС Π½Π° TFS ΠΈΠΌΠ° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ с Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΈ рСсурси ΠΈΠΌΠ° Ρ‚ΠΎΠ·ΠΈ ΠΈΠ»ΠΈ ΠΎΠ½Π·ΠΈ Build Π°Π³Π΅Π½Ρ‚. Π’ Ρ‚ΠΎΠ·ΠΈ случай Ρ‚ΠΎΠΉ Π²ΠΈΠΆΠ΄Π°, Ρ‡Π΅ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ .NET Core ΠΈ ΠΈΠ·Π±ΠΈΡ€Π° Π°Π³Π΅Π½Ρ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Linux ΠΎΡ‚ ΠΏΡƒΠ»Π°.

Build-agent ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅, изтСгля Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡ‚ΠΎ зависимости ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° .NET, npm ΠΈ Ρ‚.Π½. ΠΈ слСд ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° самото ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ послСдващо ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅, ΠΏΡ€Π΅Π΄Π°Π²Π° RPM ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² RPM Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ.

ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° слСдното. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΡŠΡ‚ ΠΎΡ‚ опСративния ΠΎΡ‚Π΄Π΅Π» участва пряко Π² Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: Ρ‚ΠΎΠΉ промСня вСрсиитС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π² Π₯ΠΈΠ΅Ρ€Π° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π°Ρ‚Π° Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ сС задСйства Puppet Yum, изтСгля Π½ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ ΠΈ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Π³ΠΎΡ‚ΠΎΠ²Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

На Π΄ΡƒΠΌΠΈ всичко Π΅ просто, Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ сС случва Π²ΡŠΡ‚Ρ€Π΅ Π² самия Build Π°Π³Π΅Π½Ρ‚?

ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° DLL RPM

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΎΡ‚ TFS. АгСнт Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π° самия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΡ‚ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ. БглобСният ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ dll Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΈ Π² zip Π°Ρ€Ρ…ΠΈΠ², Π·Π° Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма.

ZIP Π°Ρ€Ρ…ΠΈΠ²ΡŠΡ‚ Π΅ ΠΈΠ·Ρ…Π²ΡŠΡ€Π»Π΅Π½ към дирСкторията Π·Π° компилация Π½Π° RPM ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Bash ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° срСдата, Π½Π°ΠΌΠΈΡ€Π° вСрсията Π½Π° компилацията, вСрсията Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΡŠΡ‚Ρ Π΄ΠΎ дирСкторията Π·Π° компилация ΠΈ изпълнява RPM-build. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ, ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ сС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π° Π½Π° Build agent.

ОсвСн Ρ‚ΠΎΠ²Π° ΠΎΡ‚ Build Π°Π³Π΅Π½Ρ‚Π° към ΡΡŠΡ€Π²ΡŠΡ€Π° Π² RPM Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ JSON заявката Π΅ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½Π° с ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° вСрсията ΠΈ компилацията. Webhook, ΠΊΠΎΠΉΡ‚ΠΎ спомСнах ΠΏΠΎ-Ρ€Π°Π½ΠΎ, изтСгля ΡΡŠΡ‰ΠΈΡ Ρ‚ΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° Build Π°Π³Π΅Π½Ρ‚Π° ΠΈ ΠΏΡ€Π°Π²ΠΈ Π½ΠΎΠ²Π°Ρ‚Π° компилация Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π·Π° инсталиранС.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

Π—Π°Ρ‰ΠΎ Ρ‚Π°ΠΊΠ°Π²Π° схСма Π·Π° доставка Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎ RPM Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ? Π—Π°Ρ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ изградСния ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ? Π€Π°ΠΊΡ‚ Π΅, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ условиС Π·Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° сигурността. Π’ΠΎΠ·ΠΈ сцСнарий ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π½Π΅ΡƒΠΏΡŠΠ»Π½ΠΎΠΌΠΎΡ‰Π΅Π½ΠΈ Ρ…ΠΎΡ€Π° Π΄Π° ΠΊΠ°Ρ‡Π²Π°Ρ‚ RPM ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° всички Linux машини.

ВСрсиониранС Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ

На консултацията Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сС ΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°Ρ‚Π° са ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ MS SQL, Π½ΠΎ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са Windows, Π½ΠΈΠ΅ Π²Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ PostgreSQL с пълна сила. Въй ΠΊΠ°Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° изоставим всичко ΠΏΠ»Π°Ρ‚Π΅Π½ΠΎ, Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ PostgreSQL ΠΈ Ρ‚ΡƒΠΊ.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

Π’ Ρ‚Π°Π·ΠΈ част искам Π΄Π° Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ вСрсии Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Flyway ΠΈ Entity Framework Core. ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ плюсовС ΠΈ минуси.

ΠŸΡ€ΠΎΡ‚ΠΈΠ²

Flyway Π²ΡŠΡ€Π²ΠΈ само Π² Π΅Π΄Π½Π° посока, Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС Π²ΡŠΡ€Π½Π΅ΠΌ Π½Π°Π·Π°Π΄ Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сравнитС с Entity Framework Core ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ - ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° удобството Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ. БпомнятС си, Ρ‡Π΅ поставихмС Ρ‚ΠΎΠ²Π° Π½Π° ΠΏΡ€Π΅Π΄Π΅Π½ ΠΏΠ»Π°Π½ ΠΈ основният ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ бСшС Π΄Π° Π½Π΅ промСнямС Π½ΠΈΡ‰ΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Windows.

Π—Π° нас Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π΅ някаква ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°Ρ‚Π° Π΄Π° Π½Π΅ ΠΏΠΈΡˆΠ°Ρ‚ SQL заявки. Π’Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΊΠΈ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° OOP. НаписахмС инструкции Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ…ΠΌΠ΅ SQL заявка ΠΈ я ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ…ΠΌΠ΅. Новата вСрсия Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π΅ Π³ΠΎΡ‚ΠΎΠ²Π°, Π½Π°Π²ΠΈΡ‚Π° - всичко Π΅ Π½Π°Ρ€Π΅Π΄, всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Entity Framework Core ΠΈΠΌΠ° минус - ΠΏΡ€ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ натоварвания, Ρ‚ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π° Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΈ SQL заявкии намаляванСто Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ. Но Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ нямамС високо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½Π° услуга, Π½Π΅ изчислявамС Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π² стотици RPS, Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ΅Ρ…ΠΌΠ΅ Ρ‚Π΅Π·ΠΈ рисковС ΠΈ Π΄Π΅Π»Π΅Π³ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ.

ΠŸΡ€ΠΎΡ„Π΅ΡΠΈΠΎΠ½Π°Π»ΠΈΡΡ‚ΠΈ

Π―Π΄Ρ€ΠΎ Π½Π° Entity Framework Ρ€Π°Π±ΠΎΡ‚ΠΈ извън кутията ΠΈ Π΅ лСсСн Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ΠΈ Flyway лСсно сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ CI. Но Π½ΠΈΠ΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ :)

Π ΠΎΠ»-ΠΎΠ½ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°

Puppet Π²ΠΈΠΆΠ΄Π°, Ρ‡Π΅ прСдстои промяна във вСрсията Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅, срСд ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ отговаря Π·Π° миграцията. ΠŸΡŠΡ€Π²ΠΎ, Ρ‚ΠΎΠΉ инсталира ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ скриптовС ΠΈ функционалност, ΡΠ²ΡŠΡ€Π·Π°Π½Π° с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, сС рСстартира. Π‘Π»Π΅Π΄Π²Π° инсталиранСто Π½Π° останалитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. Π Π΅Π΄ΡŠΡ‚, Π² ΠΊΠΎΠΉΡ‚ΠΎ сС инсталират ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ стартират прилоТСния, Π΅ описан Π² манифСста Π½Π° Puppet.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ чувствитСлни Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ, ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, всичко Ρ‚ΠΎΠ²Π° сС изтСгля Π² конфигурацията ΠΎΡ‚ Puppet master, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π° Ρ„ΠΎΡ€ΠΌΠ°.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с TFS

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ ΠΈ Ρ€Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ всичко наистина Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° нас, Ρ€Π΅ΡˆΠΈΡ… Π΄Π° видя ΠΊΠ°ΠΊΠ²ΠΎ сС случва със сглобкитС Π² TFS ΠΊΠ°Ρ‚ΠΎ цяло Π·Π° ΠΎΡ‚Π΄Π΅Π»Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Win ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ - нСзависимо Π΄Π°Π»ΠΈ Ρ‰Π΅ / пускамС Π±ΡŠΡ€Π·ΠΎ ΠΈΠ»ΠΈ Π½Π΅, ΠΈ ΠΎΡ‚ΠΊΡ€ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с скорост .

Π•Π΄ΠΈΠ½ ΠΎΡ‚ основнитС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π²ΡŠΡ€Π²ΠΈ към 12-15 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ - Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΆΠΈΠ²Π΅Π΅ Ρ‚Π°ΠΊΠ°. Π‘ΡŠΡ€Π· Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π° уТасно намаляванС Π½Π° I / O ΠΈ Ρ‚ΠΎΠ²Π° Π΅ Π½Π° масиви.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ… Ρ‚Ρ€ΠΈ ΠΎΠ³Π½ΠΈΡ‰Π°. ΠΏΡŠΡ€Π²ΠΎ - антивирус Π½Π° каспСрски, ΠΊΠΎΠΉΡ‚ΠΎ сканира ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° всички Π°Π³Π΅Π½Ρ‚ΠΈ Π½Π° Windows Build. Π²Ρ‚ΠΎΡ€ΠΎ - Windows индСксатор. НС бСшС Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΈ всичко бСшС индСксирано Π² Π°Π³Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π½Π° внСдряванС.

Ρ‚Ρ€Π΅Ρ‚ΠΎ - npm инсталирайтС. Оказа сС, Ρ‡Π΅ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Pipeline ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ сцСнарий. Π—Π°Ρ‰ΠΎ Π΅ лош? ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° Π·Π° инсталиранС Π½Π° Npm сС изпълнява ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° зависимоститС package-lock.json, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ са фиксирани вСрсиитС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΡŠΡ‚ Π΅, Ρ‡Π΅ инсталацията Π½Π° Npm изтСгля Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅ вСрсии Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ всСки ΠΏΡŠΡ‚, Π° Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π² случай Π½Π° голям ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ понякога СкспСримСнтират Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π° машина, Π·Π° Π΄Π° тСстват производитСлността Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° част ΠΈΠ»ΠΈ цял ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Понякога сС ΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ всичко Π΅ Π³ΠΎΡ‚ΠΈΠ½ΠΎ Π½Π° мСстно Π½ΠΈΠ²ΠΎ, Π½ΠΎ Ρ‚Π΅ Π³ΠΎ ΡΡŠΠ±Ρ€Π°Ρ…Π°, пуснаха Π³ΠΎ - Π½ΠΈΡ‰ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ какъв Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ - Π΄Π°, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ вСрсии Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ със зависимости.

РСшСниС

  • Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π² AV ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • Π”Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° индСксиранСто.
  • ΠžΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π½Π° npm ci.

ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²ΠΎΡ‚ΠΎ Π½Π° npm ci Π΅, Ρ‡Π΅ Π½ΠΈΠ΅ ΡΡŠΠ±Π΅Ρ€Π΅Ρ‚Π΅ Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° зависимоститС вСднъТ, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° прСдоставим Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ списък с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, с ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° СкспСримСнтира Π½Π° мСстно Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ си иска. Π’ΠΎΠ²Π° спСстява Π²Ρ€Π΅ΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΈΡˆΠ°Ρ‚ ΠΊΠΎΠ΄Π°.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

Π‘Π΅Π³Π° ΠΌΠ°Π»ΠΊΠΎ Π·Π° конфигурацията Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ смС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ SSI Nexus Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π’ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎ Π Π•ΠŸΠž. Π’ΠΎΠ²Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈΠ΄Π²Π° с всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π·Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ Ρ†Π΅Π»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ самонаписано наблюдСниС.

.NET Core Π½Π° Linux, DevOps Π½Π° ΠΊΠΎΠ½

НиС ΡΡŠΡ‰ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ NuGet, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π°Π³Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅, срСдното Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ бСшС Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΎΡ‚ 12 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ Π½Π° 7.

Ако ΠΏΡ€Π΅Π±Ρ€ΠΎΠΈΠΌ всички машини, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ…ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π·Π° Windows, Π½ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ към Linux Π² Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, спСстихмС ΠΎΠΊΠΎΠ»ΠΎ $ 10 000. И Ρ‚ΠΎΠ²Π° Π΅ само ΠΎΡ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈ, Π° Π°ΠΊΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, ΠΏΠΎΠ²Π΅Ρ‡Π΅.

ПлановС

Π—Π° слСдващото тримСсСчиС ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π²ΡŠΡ€Ρ…Ρƒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° доставката Π½Π° ΠΊΠΎΠ΄.

ΠŸΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ към ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Docker. TFS Π΅ страхотно Π½Π΅Ρ‰ΠΎ с ΠΌΠ½ΠΎΠ³ΠΎ плъгини, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚Π΅ Π² Pipeline, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ‚Ρ€ΠΈΠ³Π΅Ρ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Docker. ИскамС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ·ΠΈ Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ package-lock.json. Ако ΡΡŠΡΡ‚Π°Π²ΡŠΡ‚ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½, Π½ΠΈΠ΅ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Docker. По-късно сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π‘Π΅Π³Π° Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Ρ‚Π°ΠΊΠ°, Π½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към микросСрвизна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π² Kubernetes, която сС Ρ€Π°Π·Π²ΠΈΠ²Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π² Π½Π°ΡˆΠ°Ρ‚Π° компания ΠΈ обслуТва производствСни Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΡ‚ дълго Π²Ρ€Π΅ΠΌΠ΅.

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠ·ΠΎΠ²Π°Π²Π°ΠΌ всички Π΄Π° ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΡΡ‚ Windows, Π½ΠΎ Π½Π΅ Π΅ Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° Π³ΠΎ готвя. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π΅, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ са Ρ‚Π°ΠΊΠΈΠ²Π° Linux стСк. Π”ΠΎΠ±ΡŠΡ€ Π»ΠΈ си спСстСтС рСсурси. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½ Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π° с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Linux с ΠΌΠΎΡ‰Π½Π° общност.

ΠŸΡ€ΠΎΡ„ΠΈΠ» Π½Π° Π»Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Π‘ΠΈΠ½Ρ‡ΠΈΠ½ΠΎΠ² Π½Π° GitHub.

DevOps Conf Π΅ конфСрСнция Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° процСси Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, тСстванС ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π·Π° профСсионалисти ΠΎΡ‚ профСсионалисти. Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€? Π²Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π°, Π° Π² дСня Π½Π° прСдставянСто бяха Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π΄Π²Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ вСрсии. На DevOps Conf Π² RIT++ На 27 ΠΈ 28 ΠΌΠ°ΠΉ Ρ‰Π΅ ΠΈΠΌΠ° ΠΎΡ‰Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ‚Π°ΠΊΠΈΠ²Π° случаи ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ²Π°Ρ‰ΠΈ Π»Π΅ΠΊΠ°Ρ€ΠΈ. ВсС ΠΎΡ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° скочитС Π² послСдния Π²Π°Π³ΠΎΠ½ ΠΈ ΠΏΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡŠΡ€Π·Π° Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€Π°ΠΌ Π±ΠΈΠ»Π΅Ρ‚. Π©Π΅ сС Π²ΠΈΠ΄ΠΈΠΌ Π² Π‘ΠΊΠΎΠ»ΠΊΠΎΠ²ΠΎ!

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€