ΠœΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ: поТалуйста, Π½Π°Π΄ΠΎ

ΠœΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ: поТалуйста, Π½Π°Π΄ΠΎ

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ для студСнтов курса Β«DevOps ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈ инструмСнты» Π² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ OTUS.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ способствуСт Π² Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… β€” это ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ коллСктивная ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ, особСнно ΠΏΡ€ΠΈ ростС ΠΊΠΎΠΌΠ°Π½Π΄. Π’ любом случаС Π²Π°ΠΌ придётся Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² инструмСнтарий, Π½ΠΎ всСгда Π»ΡƒΡ‡ΡˆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² своих ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± этом?

ΠœΡΡ‚Ρ‚ Кляйн (Matt Klein) написал ΡΡ‚Π°Ρ‚ΡŒΡŽ Β«Monorepos: Please don’t!Β»β€Š (ΠΏΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°: ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π° Ρ…Π°Π±Ρ€Π΅ Β«ΠœΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ: поТалуйста Π½Π΅ Π½Π°Π΄ΠΎΒ»). МнС нравится ΠœΡΡ‚Ρ‚, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΌΡ‘Π½, ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚ΠΎΡ‡ΠΊΡƒ зрСния. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» опрос Π² Ρ‚Π²ΠΈΡ‚Ρ‚Π΅Ρ€Π΅:

ΠœΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ: поТалуйста, Π½Π°Π΄ΠΎ

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄:
Π’ этот Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½ΠΈΠΉ дСнь я ΠΏΠΎΡΠΏΠΎΡ€ΡŽ ΠΎ Ρ‚ΠΎΠΌ, насколько Π½Π΅Π»Π΅ΠΏΡ‹ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. 2019 Π³ΠΎΠ΄ начался Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ. Π’ Π΄ΡƒΡ…Π΅ этого я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π°ΠΌ опрос. ΠšΡ‚ΠΎ большиС Ρ„Π°Π½Π°Ρ‚ΠΈΠΊΠΈ? Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΊΠΈ:
β€” ΠœΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ
β€” Rust
β€” ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ опрос / ΠΈ Ρ‚Π΅ ΠΈ Ρ‚Π΅

Мой ΠΎΡ‚Π²Π΅Ρ‚ Π±Ρ‹Π»: Β«Π― Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΎΠ±Π° этих Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°Β». ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ Rust Π½Π°Ρ€ΠΊΠΎΡ‚ΠΈΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся, ΠΏΠΎΡ‡Π΅ΠΌΡƒ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΡˆΠΈΠ±Π°Π΅Ρ‚ΡΡ насчёт ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π². НСмного ΠΎ сСбС. Π― тСхничСский Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Chef Software. Π£ нас ΠΎΠΊΠΎΠ»ΠΎ 100 ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², кодовая Π±Π°Π·Π°, Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΎΠΊΠΎΠ»ΠΎ 11–12 Π»Π΅Ρ‚, ΠΈ 4 основных ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π§Π°ΡΡ‚ΡŒ этого ΠΊΠΎΠ΄Π° находится Π² ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (моя стартовая позиция), Ρ‡Π°ΡΡ‚ΡŒ Π² ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (моя тСкущая позиция).

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ я Π½Π°Ρ‡Π½Ρƒ: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я здСсь ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½ ΠΊ рСпозиториям ΠΎΠ±ΠΎΠΈΡ… Π²ΠΈΠ΄ΠΎΠ². По ΠΌΠΎΠ΅ΠΌΡƒ мнСнию, Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… тСхничСских ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ‚ΠΈΠΏ рСпозитория. Π’Ρ‹ смоТСтС Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ любой ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π― Ρ€Π°Π΄ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± этом, Π½ΠΎ мСня Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ искусствСнныС тСхничСскиС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ΄Π½ΠΎ прСвосходит Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π― согласСн с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠœΡΡ‚Ρ‚Π°:

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° большом ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ всС Ρ‚Π΅ ΠΆΠ΅ самыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈ ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ ΠΏΡ€ΠΈ этом провоцируя вас ΠΊ сильной связности вашСго ΠΊΠΎΠ΄Π° ΠΈ трСбуя нСвСроятных усилий ΠΏΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ вашСй систСмы контроля вСрсий.

Π’Π°ΠΌ прСдстоит Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Π²Ρ‹ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Как Π²Ρ‹ выпускаСтС Ρ€Π΅Π»ΠΈΠ·Ρ‹? Какой Ρƒ вас ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ обновлСниям? ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ? ΠŸΠ΅Ρ€Π΅ΠΊΡ€Ρ‘ΡΡ‚Π½Ρ‹Π΅ зависимости ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²? КакиС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ стили ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹? Как Π²Ρ‹ управляСтС своСй инфраструктурой сборки ΠΈ тСстирования? Бписок бСсконСчСн. И Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈΡ… всС ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ растётС. БСсплатного сыра Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠœΡΡ‚Ρ‚Π° ΠΏΠΎΡ…ΠΎΠΆ Π½Π° взгляды, раздСляСмыС ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ (ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я ΡƒΠ²Π°ΠΆΠ°ΡŽ. Π­Ρ‚ΠΎ происходит с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π½Π°Π΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ. Π’Ρ‹ ΡΠ»Ρ‹ΡˆΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ:

  • Кодовая Π±Π°Π·Π° громоздкая β€” ΠΌΠ½Π΅ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ вСсь этот Ρ…Π»Π°ΠΌ.
  • Π­Ρ‚ΠΎ слоТнСС Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ вСсь этот Ρ…Π»Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ½Π΅ Π½Π΅ Π½ΡƒΠΆΠ΅Π½.
  • Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с внСшними зависимостями.
  • МнС Π½ΡƒΠΆΠ½Ρ‹ свои Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмы управлСния вСрсиями.

БСзусловно, всС эти ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ обоснованными. Π­Ρ‚ΠΎ происходит Π² ΠΎΠ±ΠΎΠΈΡ… случаях β€” Π² ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρƒ мСня Π΅ΡΡ‚ΡŒ свой Ρ…Π»Π°ΠΌ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ΅Π½ для сборки… МнС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π΅Ρ‰Ρ‘ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ…Π»Π°ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я «просто» создаю инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ‡Π΅ΠΊΠ°ΡƒΡ‚ всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Или я создаю Ρ„Π°Π»ΡŒΡˆΠΈΠ²Ρ‹ΠΉ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с подмодулями. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ вСсь дСнь Π²ΠΎΠΊΡ€ΡƒΠ³ этого. Но я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠœΡΡ‚Ρ‚Π° пропускаСт ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я довольно сильно ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΠ» Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ монорСпозитория:

Он ΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Когда ΠΌΡ‹ раздСляСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΌΡ‹ Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ создаём ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈ прозрачности. Π­Ρ‚ΠΎ соотвСтствуСт Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… (особСнно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Π΄ΡƒΠΌΠ°ΡŽΡ‚ ΠΎ Π½ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ участники): ΠΌΡ‹ нСсём ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. ΠœΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ изоляции. Π“Ρ€Π°Π½ΠΈΡ†Ρ‹ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΌΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ (-Π°Ρ…), Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ.

ΠŸΡ€ΠΈ услоТнСнии Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ большС ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Сю Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΡƒ. ΠžΡ‡Π΅Π½ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ всю систСму Π² Π³ΠΎΠ»ΠΎΠ²Π΅. Допустим, Π²Ρ‹ управляСтС ΠΎΠ±Ρ‰ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ A, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ B, C ΠΈ D. Команда A ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ API, Π° Ρ‚Π°ΠΊΠΆΠ΅ измСняСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ измСнСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π΅ совмСстимыми. Какой совСт Π²Ρ‹ Π΄Π°Π΄ΠΈΡ‚Π΅?

  • Найти всС мСста, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ старый API.
  • Π•ΡΡ‚ΡŒ Π»ΠΈ мСста, Π³Π΄Π΅ Π½ΠΎΠ²Ρ‹ΠΉ API нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?
  • ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ?
  • ΠœΠΎΠ³ΡƒΡ‚ Π»ΠΈ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ваши измСнСния прямо сСйчас?

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ эти вопросы Π½Π΅ зависят ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° рСпозитория. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ B, C ΠΈ D. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ с Π½ΠΈΠΌΠΈ, Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ врСмя, ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ надССмся, Ρ‡Ρ‚ΠΎ Π²Ρ‹ это сдСлаСтС.

На самом Π΄Π΅Π»Π΅ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ этим. Π­Ρ‚ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Π΅ΠΌ просто исправлСниС Ρ‡Ρ‘Ρ€Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ API. Всё это чСловСчСскоС ΠΈ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ΅. Π’ ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто внСсти измСнСния, Π΄Π°Ρ‚ΡŒ Π½Π° Ρ€Π΅Π²ΡŒΡŽ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ этим ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ (вСроятно, Π½Π΅ B, C ΠΈΠ»ΠΈ D), ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ B, C ΠΈ D ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ° просто ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° своСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии. Они обновятся, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΎΠ·Π½Π°ΡŽΡ‚ Π²Π°ΡˆΡƒ Π³Π΅Π½ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ!

Π’ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ сдвигаСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Команда A мСняСт свой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈ, Ссли Π½Π΅ проявит остороТности, Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚ B, C ΠΈ D. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ B, C ΠΈ D ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρƒ Π΄Π²Π΅Ρ€ΠΈ A, ΡƒΠ΄ΠΈΠ²Π»ΡΡΡΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π° A сломала сборку. Π­Ρ‚ΠΎ ΡƒΡ‡ΠΈΡ‚ A Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΎΠΉ список Π²Ρ‹ΡˆΠ΅. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π΄Π΅Π»Π°Ρ‚ΡŒ. ΠœΠΎΠ³ΡƒΡ‚ Π»ΠΈ B, C ΠΈ D Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ? Π§Ρ‚ΠΎ, Ссли B ΠΈ C ΠΌΠΎΠ³ΡƒΡ‚, Π½ΠΎ D Π±Ρ‹Π» тСсно связан с ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ эффСктом повСдСния старого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°?

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²Ρ‹ΠΉΠ΄Π΅ΠΌ ΠΈΠ· этой ситуации:

  1. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… API, ΠΏΡ€ΠΈ этом старый Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ, ΠΏΠΎΠΊΠ° D Π½Π΅ смоТСт ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.
  2. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², ΠΎΠ΄Π½Π° со старым интСрфСйсом, ΠΎΠ΄Π½Π° с Π½ΠΎΠ²Ρ‹ΠΌ.
  3. Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅Π»ΠΈΠ·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ A Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ B, C ΠΈ D Π½Π΅ смогут ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

Допустим, ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ 1, нСсколько API. Π’ этом случаС Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° куска ΠΊΠΎΠ΄Π°. Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях. ΠœΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ старый ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ (deprecated) ΠΈ согласовываСм Π³Ρ€Π°Ρ„ΠΈΠΊ Π΅Π³ΠΎ удалСния с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ D. По сущСству ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ для ΠΏΠΎΠ»ΠΈ ΠΈ для монорСпозитория.

Для Ρ€Π΅Π»ΠΈΠ·Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° Π²Π΅Ρ‚ΠΊΠ°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° β€” А1 ΠΈ А2. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ B ΠΈ C ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ A2, Π° D ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ A1. Нам Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π±Ρ‹Π» Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π΅Π»ΠΈΠ·Ρƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ D смоТСт Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ обновлСния бСзопасности ΠΈ исправлСния Π΄Ρ€ΡƒΠ³ΠΈΡ… ошибок. Π’ ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ это Π² Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅, которая чувствуСт сСбя Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π’ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΡ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ создаём ΠΊΠΎΠ΄ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅. КомандС D всё Π΅Ρ‰Ρ‘ придётся Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² «старый» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ здСсь ΠΏΠ»Π°Ρ‚ΠΈΠΌ β€” Ρƒ нас Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π΄Π²ΠΎΠ΅ большС ΠΊΠΎΠ΄Π°, ΠΈ Π»ΡŽΠ±Ρ‹Π΅ исправлСния ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ A1 ΠΈ A2, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для Π½ΠΈΡ… ΠΎΠ±ΠΎΠΈΡ…. Π‘ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ использования Π²Π΅Ρ‚ΠΎΠΊ Π² ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ это скрыто Π·Π° cherry-pick. ΠœΡ‹ считаСм ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π½Π΅Ρ‚ дублирования. Π‘ практичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°: Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΄Π²Π΅, Π² основном ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅, Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ смоТСтС ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ…. Π Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ монорСпозитория эта боль прямая ΠΈ ΠΎΠ½Π° Π½Π° Π²ΠΈΠ΄Ρƒ. Π­Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Ρ…ΡƒΠΆΠ΅, ΠΈ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

НаконСц, ΠΌΡ‹ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°. Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅Π»ΠΈΠ·Π°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ измСнСния, внСсённыС А, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ Тизнь ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ А. Π’Π°ΠΆΠ½ΠΎ, Π½ΠΎ Π½Π΅ срочно. МоТСм Π»ΠΈ ΠΌΡ‹ просто Π·Π°Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ? Π’ ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅ΠΌ это ΠΊ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΡŽ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π°. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± этом ΠΊΠΎΠΌΠ°Π½Π΄Π΅ D. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΡΡ‚Π°Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° старой вСрсии, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ³ΠΎΠ½ΠΈΡ‚Π΅! Π­Ρ‚ΠΎ настраиваСт Π½Π° ΠΈΠ³Ρ€Ρƒ Π² труса. Команда A ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ своим ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, игнорируя Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° D ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ всё Π±ΠΎΠ»Π΅Π΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ (это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ D, ΠΎΠ½ΠΈ Π³Π»ΡƒΠΏΡ‹Π΅). Π’Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° D Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΏΠ»ΠΎΡ…ΠΎ ΠΎ нСостороТном ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ A ΠΊ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°, Ссли ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ говорят ΠΎΠ± этом. ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΡΡ‚ мСсяцы. НаконСц, ΠΊΠΎΠΌΠ°Π½Π΄Π° D Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обновлСния, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² A стало Ρ‚ΠΎΠ»ΡŒΠΊΠΎ большС. Команда А Π΅Π΄Π²Π° ΠΏΠΎΠΌΠ½ΠΈΡ‚, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ сломали D. ОбновлСниС Π±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ ΠΈ Π·Π°ΠΉΠΌΡ‘Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π§Ρ‚ΠΎ отправляСт Π΅Π³ΠΎ дальшС Π²Π½ΠΈΠ· ΠΏΠΎ стСку ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ². Π”ΠΎ Ρ‚ΠΎΠ³ΠΎ дня, ΠΏΠΎΠΊΠ° Ρƒ нас Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° бСзопасности Π² А, Ρ‡Ρ‚ΠΎ заставляСт нас Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ. Команда A Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π°Π·Π°Π΄ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° D Π±Ρ‹Π» ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ Ρ€Π΅Π»ΠΈΠ·Ρƒ. Π­Ρ‚ΠΎ Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°ΡŽΡ‚ люди, ΠΈ ΠΎΠ½, бСзусловно, Ρ…ΡƒΠ΄ΡˆΠΈΠΉ. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΊΠ°ΠΊ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ A, Ρ‚Π°ΠΊ ΠΈ для D, ΠΏΠΎΠΊΠ° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°.

Π’ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ β€”Β Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π’Ρ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ситуациСй ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… способов. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠΈ наличия Π΄Π²ΡƒΡ… Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ. ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ сСбя ΠΎΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, Π»ΠΎΠΌΠ°ΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ. Но Π³Π»Π°Π²Π½ΠΎΠ΅: Π²Π°ΠΌ Π½Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ слоТного Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π°.

По ΠΌΠΎΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ становятся большими, Ρ‡Ρ‚ΠΎ большС Π½Π΅Ρ‚ возмоТности Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ всю систСму, ΠΈ это самая ваТная Ρ‡Π°ΡΡ‚ΡŒ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ разногласий Π² систСмС. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ΠΎΡ€Π²Π°Ρ‚ΡŒ взгляд ΠΎΡ‚ своих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ.

Π”Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΠΎΠ»ΠΈΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π². Но ΠΌΠΎΠΉ ΠΎΠΏΡ‹Ρ‚ обучСния Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ поставкС (continuous delivery) ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… прСдприятиях Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΌΠ½Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Π΅Π· использования Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов β€” это Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ. ПовСдСниС полирСпозитория ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” изоляция, Π²ΠΎΡ‚ ΠΈ вСсь смысл. ПовСдСниС монорСпозитория ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” это общая ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, Π²ΠΎΡ‚ ΠΈ вСсь смысл. Π’ ΠΎΠ±ΠΎΠΈΡ… случаях я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠ³Π»Π°Π΄ΠΈΡ‚ΡŒ острыС ΡƒΠ³Π»Ρ‹. Как Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, я Π±ΡƒΠ΄Ρƒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ инструмСнты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Ρ…ΠΎΡ‡Ρƒ, Π° ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π° исходит ΠΈΠ· ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Волько зарСгистрированныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² опросС. Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅, поТалуйста.

ΠšΡ‚ΠΎ бОльшиС Ρ„Π°Π½Π°Ρ‚ΠΈΠΊΠΈ? Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΊΠΈ:

  • ΠœΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ

  • Rust

  • ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ опрос / ΠΈ Ρ‚Π΅ ΠΈ Ρ‚Π΅

ΠŸΡ€ΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΈ 33 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ΠΎΠ·Π΄Π΅Ρ€ΠΆΠ°Π»ΠΈΡΡŒ 13 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

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