Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

ΠŸΡ€Π²ΠΎ, ΠΌΠ°Π»ΠΊΡƒ Ρ‚Π΅ΠΎΡ€ΠΈΡ˜Π°. Π¨Ρ‚ΠΎ сС случи ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Twelve-Factor?

Π‘ΠΎ Сдноставни Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, овој Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π΄Π° Π³ΠΎ поСдностави Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° SaaS Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅, помагајќи ΠΏΡ€Π΅ΠΊΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° DevOps Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈΡ‚Π΅ ΠΊΠΎΠΈ Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎ сС ΡΡ€Π΅ΡœΠ°Π²Π°Π°Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° соврСмСнитС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΡ‚ Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Π½ ΠΎΠ΄ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π₯Π΅Ρ€ΠΎΠΊΡƒ.

ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Twelve-Factor ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ напишани Π½Π° кој Π±ΠΈΠ»ΠΎ програмски јазик ΠΈ со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° која Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ˜Π° Π½Π° услуги Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° (Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ€Π΅Π΄ΠΈΡ†ΠΈ Π·Π° ΠΏΠΎΡ€Π°ΠΊΠΈ, кСшови ΠΈΡ‚Π½.).

Накратко Π·Π° Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΈ сС заснова ΠΎΠ²Π°Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°:

  1. Кодбаза – Π•Π΄Π½Π° Π±Π°Π·Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ слСдСна Π²ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°Ρ‚Π° Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° – ΠΏΠΎΠ²Π΅ΡœΠ΅ΠΊΡ€Π°Ρ‚Π½ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ°
  2. Зависности – Експлицитно Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΈ зависноститС
  3. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° – Π—Π°Ρ‡ΡƒΠ²Π°Ρ˜Ρ‚Π΅ ја ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ Ρ‚Ρ€Π°Π΅ΡšΠ΅
  4. Услуги Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° – РазмислСтС Π·Π° услугитС Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡Π½ΠΈ рСсурси
  5. Π˜Π·Π³Ρ€Π°Π΄Π΅Ρ‚Π΅, ослободСтС, Ρ‚Ρ€Ρ‡Π°Ρ˜Ρ‚Π΅ – Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ ΠΎΠ΄Π΄Π΅Π»Π΅Ρ‚Π΅ Π³ΠΈ Ρ„Π°Π·ΠΈΡ‚Π΅ Π½Π° ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅
  6. ΠŸΡ€ΠΎΡ†Π΅ΡΠΈ – Π‘Ρ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜ ја Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΊΠ°ΠΊΠΎ Π΅Π΄Π΅Π½ ΠΈΠ»ΠΈ повСќС процСси Π±Π΅Π· Π΄Ρ€ΠΆΠ°Π²Ρ˜Π°Π½ΡΡ‚Π²ΠΎ
  7. Π’Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ – Услуги Π·Π° ΠΈΠ·Π²ΠΎΠ· ΠΏΡ€Π΅ΠΊΡƒ ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΡ‚Π΅ Π·Π° Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅
  8. ΠŸΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°ΠΌ – Π‘ΠΊΠ°Π»ΠΈΡ€Π°Ρ˜ ја Π²Π°ΡˆΠ°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ процСси
  9. Π•Π΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° – ΠœΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ја довСрливоста со Π±Ρ€Π·ΠΎ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ ΠΈ чисто ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅
  10. ΠŸΠ°Ρ€ΠΈΡ‚Π΅Ρ‚ Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜/ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° – Π§ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΈ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΎΠΏΠΊΡ€ΡƒΠΆΡƒΠ²Π°ΡšΠ° Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜, ΠΈΠ½ΡΡ†Π΅Π½ΠΈΡ€Π°ΡšΠ΅ ΠΈ производство ΠΊΠΎΠ»ΠΊΡƒ ΡˆΡ‚ΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ слични
  11. Π‘Π΅Ρ‡Π° – ΠŸΡ€ΠΈΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π³ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΈΠ² Π½Π° настани
  12. Административни Π·Π°Π΄Π°Ρ‡ΠΈ – Π˜Π·Π²Ρ€ΡˆΠ΅Ρ‚Π΅ административни/ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ΠΊΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ad hoc процСси

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ повСќС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° 12-Ρ‚Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ ΠΎΠ΄ слСднивС рСсурси:

Π¨Ρ‚ΠΎ Π΅ Π‘ΠΈΠ½ΠΎ-Π·Π΅Π»Π΅Π½ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅?

Π‘ΠΈΠ½ΠΎ-Π·Π΅Π»Π΅Π½ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° Π΄ΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π΄ΠΎ производство Π½Π° Ρ‚ΠΎΡ˜ Π½Π°Ρ‡ΠΈΠ½ ΡˆΡ‚ΠΎ ΠΊΡ€Π°Ρ˜Π½ΠΈΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ Π³Π»Π΅Π΄Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΎΠ΄ Π½Π΅Π³ΠΎΠ²Π° страна. Π‘ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со Π½ΡƒΠ»Π° ΠΏΡ€Π΅ΡΡ‚ΠΎΡ˜.

ΠšΠ»Π°ΡΠΈΡ‡Π½Π°Ρ‚Π° шСма BG Deploy ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΊΠ°ΠΊΠΎ ΠΎΠ½Π°Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½Π° Π½Π° сликата ΠΏΠΎΠ΄ΠΎΠ»Ρƒ.

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

  • На ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ ΠΈΠΌΠ° 2 Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈ сСрвСри со апсолутно ист ΠΊΠΎΠ΄, Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π° ΠΈΠΌΠ° ΠΈ Ρ€ΡƒΡ‚Π΅Ρ€ (балансСр).
  • Π ΡƒΡ‚Π΅Ρ€ΠΎΡ‚ ΠΏΡ€Π²ΠΈΡ‡Π½ΠΎ Π³ΠΈ насочува ситС Π±Π°Ρ€Π°ΡšΠ° Π΄ΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ сСрвСритС (Π·Π΅Π»Π΅Π½Π°).
  • Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΡ‚ ΠΊΠΎΠ³Π° Ρ‚Ρ€Π΅Π±Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° Π³ΠΎ ослободитС, Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ сС Π°ΠΆΡƒΡ€ΠΈΡ€Π° Π½Π° Π΄Ρ€ΡƒΠ³ сСрвСр (сина), која Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π±Π°Ρ€Π°ΡšΠ°.
  • ΠžΡ‚ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠ΄ΠΎΡ‚ Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ сина боја сСрвСрот Π΅ цСлосно Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½, Π½Π° Ρ€ΡƒΡ‚Π΅Ρ€ΠΎΡ‚ ΠΌΡƒ Π΅ Π΄Π°Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π° сС ΠΏΡ€Π΅Ρ„Ρ€Π»ΠΈ Π·Π΅Π»Π΅Π½ΠΈ Π½Π° сина сСрвСр.
  • Π‘Π΅Π³Π° ситС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π³ΠΎ Π³Π»Π΅Π΄Π°Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ‚ ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ со сина сСрвСр.
  • Π—Π° Π½Π΅ΠΊΠΎΠ΅ Π²Ρ€Π΅ΠΌΠ΅, Π·Π΅Π»Π΅Π½Π° сСрвСрот слуТи ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½Π° копија Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° сина сСрвСрот ΠΈ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° нСуспСх ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ, Ρ€ΡƒΡ‚Π΅Ρ€ΠΎΡ‚ Π³ΠΎ ΠΏΡ€Π΅Ρ„Ρ€Π»Π° корисничкиот ΠΏΡ€ΠΎΡ‚ΠΎΠΊ Π½Π°Π·Π°Π΄ ΠΊΠΎΠ½ Π·Π΅Π»Π΅Π½Π° сСрвСр со стара стабилна Π²Π΅Ρ€Π·ΠΈΡ˜Π°, Π° Π½ΠΎΠ²ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ сС ΠΈΡΠΏΡ€Π°ΡœΠ° Π½Π° Ρ€Π΅Π²ΠΈΠ·ΠΈΡ˜Π° ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅.
  • И Π½Π° ΠΊΡ€Π°Ρ˜ΠΎΡ‚ ΠΎΠ΄ процСсот, Ρ‚ΠΎΡ˜ сС Π°ΠΆΡƒΡ€ΠΈΡ€Π° Π½Π° ист Π½Π°Ρ‡ΠΈΠ½ Π·Π΅Π»Π΅Π½Π° сСрвСр. И ΠΏΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅, Ρ€ΡƒΡ‚Π΅Ρ€ΠΎΡ‚ Π³ΠΎ ΠΏΡ€Π΅Ρ„Ρ€Π»Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΡ‚ Π½Π° Π±Π°Ρ€Π°ΡšΠ° Π½Π°Π·Π°Π΄ ΠΊΠΎΠ½ Π·Π΅Π»Π΅Π½Π° сСрвСр.

Π‘Π΅Ρ‚ΠΎ Ρ‚ΠΎΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠ±Ρ€ΠΎ ΠΈ Π½Π° ΠΏΡ€Π² ΠΏΠΎΠ³Π»Π΅Π΄ Π½Π΅ Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° ΠΈΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со Ρ‚ΠΎΠ°.
Но, бидСјќи ΠΆΠΈΠ²Π΅Π΅ΠΌΠ΅ Π²ΠΎ соврСмСниот свСт, ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° со Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΎ ΠΏΡ€Π΅Ρ„Ρ€Π»ΡƒΠ²Π°ΡšΠ΅ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ Π²ΠΎ класичната шСма Π½Π΅ Π½ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°. Π—Π°Π±Π΅Π»Π΅ΠΆΠ΅Ρ‚Π΅ Π³ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ засСга, ќС сС Π²Ρ€Π°Ρ‚ΠΈΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΡ†Π½Π°.

Π›ΠΎΡˆ ΠΈ Π΄ΠΎΠ±Π°Ρ€ совСт

ΠžΠΏΡˆΡ‚ΠΈ услови: ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ Π³ΠΈ ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π°Π°Ρ‚ Π°Π»Π°Ρ‚ΠΊΠΈΡ‚Π΅/ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π³ΠΈ користам, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° користитС апсолутно ситС Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΈ со слични Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π΅Π½ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½ ќС сС вкрстат со Π²Π΅Π±-Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ (ΠΎΠ²Π° Π΅ ΠΈΠ·Π½Π΅Π½Π°Π΄ΡƒΠ²Π°ΡšΠ΅), со PHP ΠΈ Docker.

Π‘Ρ‚Π°Π²ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ Π΄Π°Π²Π°Π°Ρ‚ СдноставСн ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅Π½ опис Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ; Π°ΠΊΠΎ сакатС Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ повСќС Ρ‚Π΅ΠΎΡ€ΠΈΡ˜Π° Π½Π° ΠΎΠ²Π°Π° Ρ‚Π΅ΠΌΠ°, слСдСтС Π³ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠΎΠ³ΠΎΡ€Π΅ Π΄ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ‚ ΠΈΠ·Π²ΠΎΡ€.

1. Кодбаза

ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ‚Π΅ FTP ΠΈ FileZilla Π·Π° Π΄Π° ΠΈΡΠΏΡ€Π°ΡœΠ°Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° сСрвСритС Π΅Π΄Π΅Π½ ΠΏΠΎ Π΅Π΄Π΅Π½, Π½Π΅ Ρ‡ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎ мСсто освСн Π½Π° сСрвСрот Π·Π° производство.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ сСкогаш Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠ° СдинствСна Π±Π°Π·Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, односно Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π΄ΠΎΠ°Ρ“Π° ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΎΠ΄ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅. Π‘Π΅Ρ€Π²Π΅Ρ€ΠΈΡ‚Π΅ (производство, ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅, тСст1, тСст2...) користат ΠΊΠΎΠ΄ ΠΎΠ΄ Π³Ρ€Π°Π½ΠΊΠΈ Π½Π° Π΅Π΄Π½ΠΎ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅. На овој Π½Π°Ρ‡ΠΈΠ½ постигнувамС конзистСнтност Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚.

2. Зависности

ΠŸΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π³ΠΈ ситС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ ΠΏΠ°ΠΏΠΊΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ ΠΊΠΎΡ€Π΅Π½ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚. НаправСтС Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Сдноставно со ΠΏΡ€Π΅Ρ„Ρ€Π»Π°ΡšΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° со Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΈ ситС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° сСрвСрот Π½Π° Π΄ΠΎΠΌΠ°ΡœΠΈΠ½ΠΎΡ‚ ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΡƒΡˆΡ‚Π΅ 20 услуги.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ сСкогаш Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠ° јасно Ρ€Π°Π·Π±ΠΈΡ€Π»ΠΈΠ²Π° листа Π½Π° зависности (ΠΏΠΎΠ΄ зависности мислам ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π°). Π‘ΠΈΡ‚Π΅ зависности ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Сксплицитно Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ.
Π”Π° Π·Π΅ΠΌΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ ΠΈ ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ.

ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ β€” ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ кој Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° инсталиратС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ PHP. ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΎΡ‚ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° строго ΠΈΠ»ΠΈ Π»Π°Π±Π°Π²ΠΎ Π΄Π° Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ Π²Π΅Ρ€Π·ΠΈΠΈ ΠΈ Сксплицитно Π΄Π° Π³ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅. МоТС Π΄Π° ΠΈΠΌΠ° 20 Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° сСрвСрот ΠΈ сСкој ќС ΠΈΠΌΠ° Π»ΠΈΡ‡Π½Π° листа Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ нСзависни ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅.

ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ β€” Π°Π»Π°Ρ‚ΠΊΠ° која Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ја Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° Π²ΠΎ која ќС Ρ€Π°Π±ΠΎΡ‚ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Π‘ΠΏΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ°, исто ΠΊΠ°ΠΊΠΎ ΠΈ кај ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΎΡ‚, Π½ΠΎ ΠΏΠΎΡ‚Π΅ΠΌΠ΅Π»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΎΠ΄Ρ€Π΅Π΄ΠΈΠΌΠ΅ со ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ спСцифична Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° PHP, ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΈ само ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π·Π° Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚, Π±Π΅Π· Π΄Π° Π΄ΠΎΠ΄Π°Π²Π°Ρ‚Π΅ Π½ΠΈΡˆΡ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ. И ΡˆΡ‚ΠΎ Π΅ најваТно, Π±Π΅Π· мСшањС Π²ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΈ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π° домаќин ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Π’ΠΎΠ° Π΅, ситС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° сСрвСрот ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΏΡ€Π΅ΠΊΡƒ Docker ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° користат апсолутно сСкој сСт Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ сосСма ΠΏΠΎΠΈΠ½Π°ΠΊΠ²Π° срСдина.

3. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°

Π§ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ константи Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ‚. ПосСбни константи Π·Π° тСст-сСрвСрот, ΠΎΠ΄Π΄Π΅Π»Π½ΠΈ Π·Π° производство. Π’Ρ€Π·Π΅Ρ‚Π΅ ја Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ зависност ΠΎΠ΄ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ if else конструира.

ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ - ΠΎΠ²Π° Π΅ СдинствСниот Π½Π°Ρ‡ΠΈΠ½ Π½Π° кој Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π°Π°Ρ‚. ИдСално, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС прСнСсуваат Π½ΠΈΠ· ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° (env vars).

Π’ΠΎΠ° Π΅, Π΄ΡƒΡ€ΠΈ ΠΈ Π°ΠΊΠΎ складиратС Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ конфигурациски Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ .config.prod .config.local ΠΈ Π³ΠΈ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΡ‚ Π½Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ .config (Π³Π»Π°Π²Π½Π°Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΎΠ΄ која Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Ρ‡ΠΈΡ‚Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ) - ΠΎΠ²Π° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ вистинскиот пристап, бидСјќи Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΠΎΠ΄ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ќС Π±ΠΈΠ΄Π°Ρ‚ јавно достапни Π·Π° ситС Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΎΠ΄ производствСниот сСрвСр ќС Π±ΠΈΠ΄Π°Ρ‚ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠΈΡ‚ΠΈΡ€Π°Π½ΠΈ. Π‘ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΡ€Π° Π΄Π° сС складираат Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ систСмот Π·Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ (CI/CD) ΠΈ Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π°Ρ‚ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ срСдини со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ врСдности Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΈ Π·Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° срСдина Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΡ‚ Π½Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅.

4. Услуги ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚Π° страна

Π‘ΠΈΠ΄Π΅Ρ‚Π΅ строго Π²Ρ€Π·Π°Π½ΠΈ Π·Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π°, користСтС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ врски Π·Π° исти услуги Π²ΠΎ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ срСдини.

Π’ΡΡƒΡˆΠ½ΠΎΡΡ‚, ΠΎΠ²Π°Π° Ρ‚ΠΎΡ‡ΠΊΠ° силно сС ΠΏΡ€Π΅ΠΊΠ»ΠΎΠΏΡƒΠ²Π° со Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, бидСјќи Π±Π΅Π· ΠΎΠ²Π°Π° Ρ‚ΠΎΡ‡ΠΊΠ°, Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²Π°Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΈ, Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ, способноста Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π΅ΠΌΠ° Π΄Π° ΠΏΠ°Π΄Π½Π΅ Π½Π° Π½ΠΈΡˆΡ‚ΠΎ.

Π‘ΠΈΡ‚Π΅ врски со Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ услуги, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС сСрвСри Π·Π° Ρ€Π΅Π΄ΠΈΡ†ΠΈ, Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, услуги Π·Π° ΠΊΠ΅ΡˆΠΈΡ€Π°ΡšΠ΅, ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ исти ΠΈ Π·Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° срСдина ΠΈ Π·Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚Π° страна/производство. Π‘ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, Π²ΠΎ сСкоС Π²Ρ€Π΅ΠΌΠ΅, со ΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΈΠ·Π°Ρ‚Π° Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅, ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° Π³ΠΈ Π·Π°ΠΌΠ΅Π½Π°ΠΌ ΠΏΠΎΠ²ΠΈΡ†ΠΈΡ‚Π΅ Π΄ΠΎ Π±Π°Π·Π°Ρ‚Π° #1 со Π±Π°Π·Π°Ρ‚Π° #2 Π±Π΅Π· Π΄Π° Π³ΠΎ ΠΌΠ΅Π½ΡƒΠ²Π°ΠΌ ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Или, глСдајќи Π½Π°ΠΏΡ€Π΅Π΄, ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅ Π½Π° услугата, Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΡ€Π° Π΄Π° ја ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π°Ρ‚Π΅ врската Π½Π° нСкој посСбСн Π½Π°Ρ‡ΠΈΠ½ Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ кСш-сСрвСр.

5. Π˜Π·Π³Ρ€Π°Π΄Π±Π°, ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅, ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅

Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ ја само ΠΊΠΎΠ½Π΅Ρ‡Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° сСрвСрот, Π±Π΅Π· шанси Π·Π° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π°Π·Π°Π΄. НСма ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π° простор Π½Π° дискот. БСкој ΡˆΡ‚ΠΎ мисли Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡƒΡˆΡ‚ΠΈ ΠΊΠΎΠ΄ Π²ΠΎ производство со Π³Ρ€Π΅ΡˆΠΊΠ° Π΅ лош ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€!

Π‘ΠΈΡ‚Π΅ Ρ„Π°Π·ΠΈ Π½Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ Π΅Π΄Π½Π° ΠΎΠ΄ Π΄Ρ€ΡƒΠ³Π°.

Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ шанса Π΄Π° сС Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π½Π°Π·Π°Π΄. НаправСтС изданија со стари ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° (вСќС составСни ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π·Π° Π±ΠΈΡ‚ΠΊΠ°) Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π²ΠΎ Π±Ρ€Π· пристап, Π·Π° Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ старата Π²Π΅Ρ€Π·ΠΈΡ˜Π°. Π’ΠΎΠ° Π΅, условно постои ΠΏΠ°ΠΏΠΊΠ° ΡΠΎΠΎΠΏΡˆΡ‚Π΅Π½ΠΈΡ˜Π° ΠΈ ΠΏΠ°ΠΏΠΊΠ° Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π°, ΠΈ ΠΏΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΎ со симболична врска Π΄ΠΎ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡˆΡ‚ΠΎ сС Π½Π°ΠΎΡ“Π° Π²Π½Π°Ρ‚Ρ€Π΅ ΡΠΎΠΎΠΏΡˆΡ‚Π΅Π½ΠΈΡ˜Π° со ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΎΠ½Π°Π»Π½ΠΎΡ‚ΠΎ ΠΈΠΌΠ΅ Π½Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ.

Ова Π΅ мСстото ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ сС сСќавамС Π½Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π‘ΠΈΠ½ΠΎ-Π—Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ, ΠΊΠΎΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π΅ само Π΄Π° сС ΠΏΡ€Π΅Ρ„Ρ€Π»Π°Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΊΠΎΠ΄ΠΎΡ‚, Ρ‚ΡƒΠΊΡƒ ΠΈ Π΄Π° сС ΠΏΡ€Π΅Ρ„Ρ€Π»Π°Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ситС рСсурси, ΠΏΠ° Π΄ΡƒΡ€ΠΈ ΠΈ срСдини со моТност Π΄Π° Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ сè Π½Π°Π·Π°Π΄.

6. ΠŸΡ€ΠΎΡ†Π΅ΡΠΈ

Π§ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ самата Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ‚Π΅ сСсии Π²ΠΎ RAM ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° самата Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ‚Π΅ ΡˆΡ‚ΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ повСќС ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ услуги ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ страни. ΠŸΠΎΡ‚ΠΏΡ€Π΅Ρ‚Π΅ сС Π½Π° Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° само Π΅Π΄Π΅Π½ процСс ΠΈ Π½Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π° ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅.

Π¨Ρ‚ΠΎ сС однСсува Π΄ΠΎ сСсиитС, ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ само Π²ΠΎ кСш ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½ ΠΎΠ΄ услуги ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ страни (memcached, redis), ΠΏΠ° Π΄ΡƒΡ€ΠΈ ΠΈ Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ 20 процСси Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚, сСкој ΠΎΠ΄ Π½ΠΈΠ², ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС пристапи Π΄ΠΎ ΠΊΠ΅ΡˆΠΎΡ‚, ќС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π²ΠΎ истата ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π²ΠΎ која корисникот Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅ со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ Π΄Ρ€ΡƒΠ³ процСс. Π‘ΠΎ овој пристап, ΠΈΠ·Π»Π΅Π³ΡƒΠ²Π° Π΄Π΅ΠΊΠ° Π±Π΅Π· Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ΄ услуги ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ Π»ΠΈΡ†Π° користитС, сè ќС Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со пристапот Π΄ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅.

7. ΠŸΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ

Π‘Π°ΠΌΠΎ Π²Π΅Π±-сСрвСрот Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π·Π½Π°Π΅ ΠΊΠ°ΠΊΠΎ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со услуги ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ страни. Или ΡƒΡˆΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ, ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρ˜Ρ‚Π΅ услуги ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ Π»ΠΈΡ†Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ Π²Π΅Π±-сСрвСрот. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊΠΎ PHP ΠΌΠΎΠ΄ΡƒΠ» Π²ΠΎ Apache.
Π‘ΠΈΡ‚Π΅ ваши услуги ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ достапни ΠΌΠ΅Ρ“Ρƒ сСбС ΠΏΡ€Π΅ΠΊΡƒ пристап Π΄ΠΎ нСкоја адрСса ΠΈ ΠΏΠΎΡ€Ρ‚Π° (localgost:5432, localhost:3000, nginx:80, php-fpm:9000), односно ΠΎΠ΄ nginx ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° пристапам ΠΈ Π΄ΠΎ php-fpm ΠΈ Π΄ΠΎ postgres, ΠΈ ΠΎΠ΄ php-fpm Π΄ΠΎ postgres ΠΈ nginx ΠΈ Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ ΠΎΠ΄ сСкој сСрвис ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° пристапам Π΄ΠΎ Π΄Ρ€ΡƒΠ³ сСрвис. На овој Π½Π°Ρ‡ΠΈΠ½, одрТливоста Π½Π° услугата Π½Π΅ Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½Π° со одрТливоста Π½Π° Π΄Ρ€ΡƒΠ³Π° услуга.

8. ΠŸΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°ΠΌ

Π Π°Π±ΠΎΡ‚Π΅Ρ‚Π΅ со Π΅Π΄Π΅Π½ процСс, ΠΈΠ½Π°ΠΊΡƒ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ процСси Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС слоТуваат Π΅Π΄Π΅Π½ со Π΄Ρ€ΡƒΠ³!

ΠžΡΡ‚Π°Π²Π΅Ρ‚Π΅ простор Π·Π° ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅. ДокСрскиот Ρ€ΠΎΡ˜ Π΅ ΠΎΠ΄Π»ΠΈΡ‡Π΅Π½ Π·Π° ΠΎΠ²Π°.
Docker Swarm Π΅ Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° создавањС ΠΈ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со кластСри Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΈ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ машини ΠΈ ΠΊΡƒΠΏ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π½Π° иста машина.

ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Ρ€ΠΎΡ˜, ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° ΠΎΠ΄Ρ€Π΅Π΄Π°ΠΌ ΠΊΠΎΠ»ΠΊΡƒ рСсурси ќС Π΄ΠΎΠ΄Π΅Π»Π°ΠΌ Π·Π° сСкој процСс ΠΈ ΠΊΠΎΠ»ΠΊΡƒ процСси ΠΎΠ΄ истата услуга ќС Π·Π°ΠΏΠΎΡ‡Π½Π°ΠΌ, Π° Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΈΠΎΡ‚ балансСр, ΠΏΡ€ΠΈΠΌΠ°Ρ˜ΡœΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° Π΄Π°Π΄Π΅Π½Π° ΠΏΠΎΡ€Ρ‚Π°, автоматски ќС Π³ΠΈ ΠΏΡ€Π΅Ρ„Ρ€Π»ΠΈ Π½Π° процСситС. Π’Π°ΠΊΠ°, глСдајќи Π΄Π΅ΠΊΠ° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° сСрвСрот Π΅ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ΠΎ, ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π°ΠΌ повСќС процСси, Π° со Ρ‚ΠΎΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»Π°ΠΌ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ процСси.

9. Π•Π΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°

НС користСтС Ρ€Π΅Π΄ΠΈΡ†ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со процСси ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π£Π±ΠΈΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΅Π΄Π΅Π½ процСс Ρ‚Ρ€Π΅Π±Π° Π΄Π° влијаС Π½Π° Ρ†Π΅Π»Π°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. Ако Π΅Π΄Π½Π° услуга сС Π½Π°ΠΌΠ°Π»ΠΈ, сè сС Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°.

БСкој процСс ΠΈ услуга ΠΌΠΎΠΆΠ΅ Π΄Π° сС исклучи Π²ΠΎ сСкоС Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Ρ‚ΠΎΠ° Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° влијаС Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ услуги (сС Ρ€Π°Π·Π±ΠΈΡ€Π°, Ρ‚ΠΎΠ° Π½Π΅ Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° услугата ќС Π±ΠΈΠ΄Π΅ нСдостапна Π·Π° Π΄Ρ€ΡƒΠ³Π° услуга, Ρ‚ΡƒΠΊΡƒ Π΄Π΅ΠΊΠ° Π΄Ρ€ΡƒΠ³Π° услуга Π½Π΅ΠΌΠ° Π΄Π° сС исклучи ΠΏΠΎ ΠΎΠ²Π°Π°). Π‘ΠΈΡ‚Π΅ процСси ΠΌΠΎΡ€Π° Π΄Π° сС ΠΏΡ€Π΅ΠΊΠΈΠ½Π°Ρ‚ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ‚Π½ΠΎ, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΊΠΎΠ³Π° ќС сС ΠΏΡ€Π΅ΠΊΠΈΠ½Π°Ρ‚, Π½Π΅ΠΌΠ° Π΄Π° сС ΠΎΡˆΡ‚Π΅Ρ‚Π°Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ систСмот ќС Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ слСдниот ΠΏΠ°Ρ‚ ΠΊΠΎΠ³Π° ќС Π³ΠΎ Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅. Односно, Π΄ΡƒΡ€ΠΈ ΠΈ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° ΠΈΡ‚Π΅Π½ ΠΏΡ€Π΅ΠΊΠΈΠ½, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΎΡˆΡ‚Π΅Ρ‚Π°Ρ‚ (ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΡ‚ Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½ ΠΎΠ²Π΄Π΅, Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π²ΠΎ Π±Π°Π·Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ само Π²ΠΎ Π³Ρ€ΡƒΠΏΠΈ ΠΈ Π°ΠΊΠΎ Π±Π°Ρ€Π΅ΠΌ Π΅Π΄Π½ΠΎ Π±Π°Ρ€Π°ΡšΠ΅ ΠΎΠ΄ Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π½Π΅ успСС ΠΈΠ»ΠΈ сС ΠΈΠ·Π²Ρ€ΡˆΠΈ со Π³Ρ€Π΅ΡˆΠΊΠ°, Ρ‚ΠΎΠ³Π°Ρˆ Π½ΠΈΡ‚Ρƒ Π΅Π΄Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ Π±Π°Ρ€Π°ΡšΠ΅ ΠΎΠ΄ Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π½Π° ΠΊΡ€Π°Ρ˜ΠΎΡ‚ Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ Π½Π΅ успСва).

10. ΠŸΠ°Ρ€ΠΈΡ‚Π΅Ρ‚ Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜/Ρ€Π°Π±ΠΎΡ‚Π΅ΡšΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²ΠΎΡ‚ΠΎ, ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ. Π’ΠΎ производството ја користимС Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Yii Lite, ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Yii, Π·Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ±Ρ€Π·ΠΎ Π²ΠΎ производството!

Π’ΠΎ рСалноста, ситС Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со ΠΊΠΎΠ΄ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Π²ΠΎ рСчиси ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° срСдина (Π½Π΅ Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈ Ρ…Π°Ρ€Π΄Π²Π΅Ρ€). Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, сСкој Π²Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ распорСди ΠΊΠΎΠ΄ΠΎΡ‚ Π²ΠΎ производството Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, Π° Π½Π΅ нСкој ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ ΠΎΠ΄Π΄Π΅Π» Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜, кој само Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° посСбната сила ΠΌΠΎΠΆΠ΅ Π΄Π° ја ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ производство.

Π’ΠΎ ΠΎΠ²Π° Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° ΠΈ Docker. Ако сС ΠΏΠΎΡ‡ΠΈΡ‚ΡƒΠ²Π°Π°Ρ‚ ситС ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΠΊΠ΅Ρ€ ќС Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π²Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ процСсот Π½Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° ΠΈ Π½Π° производството ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° машина.

11. Π”Π½Π΅Π²Π½ΠΈΡ†ΠΈ

НиС ΠΏΠΈΡˆΡƒΠ²Π°ΠΌΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ! НиС Π½Π΅ чистимС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ. АјдС само Π΄Π° ΠΊΡƒΠΏΠΈΠΌΠ΅ Ρ…Π°Ρ€Π΄ диск со 9000 ΠŸΠ΅Ρ‚Π° Π±Π°Ρ˜Ρ‚ΠΈ ΠΈ Ρ‚ΠΎΠ° Π΅ Π²ΠΎ Ρ€Π΅Π΄.

Π‘ΠΈΡ‚Π΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС смСтаат ΠΊΠ°ΠΊΠΎ Ρ‚Π΅ΠΊ Π½Π° настани. Π‘Π°ΠΌΠ°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½Π° Π²ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ. Π”Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΈΠ·Π»Π΅Π·Π°Ρ‚ ΠΈΠ»ΠΈ Π²ΠΎ stdout ΠΈΠ»ΠΈ Π΄Π° сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΏΡ€Π΅ΠΊΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ udp, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° со Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π½Π΅ создава Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Graylog Π΅ Π΄ΠΎΠ±Π°Ρ€ Π·Π° ΠΎΠ²Π°. Graylog ΡˆΡ‚ΠΎ Π³ΠΈ ΠΏΡ€ΠΈΠΌΠ° ситС Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ ΠΏΡ€Π΅ΠΊΡƒ udp (овој ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π΅ Π±Π°Ρ€Π° Π΄Π° сС Ρ‡Π΅ΠΊΠ° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π·Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚) Π½Π΅ ја ΠΏΠΎΠΏΡ€Π΅Ρ‡ΡƒΠ²Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° кој Π±ΠΈΠ»ΠΎ Π½Π°Ρ‡ΠΈΠ½ ΠΈ сС Π·Π°Π½ΠΈΠΌΠ°Π²Π° само со ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ. Π›ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π΅ сС ΠΌΠ΅Π½ΡƒΠ²Π° Π·Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со Ρ‚Π°ΠΊΠ²ΠΈ пристапи.

12. Административни Π·Π°Π΄Π°Ρ‡ΠΈ

Π—Π° Π΄Π° Π³ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, Π±Π°Π·ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈΡ‚Π½., користСтС ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°Π½Π° ΠΊΡ€Π°Ρ˜Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π²ΠΎ API, Π°ΠΊΠΎ ја ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ 2 ΠΏΠ°Ρ‚ΠΈ ΠΏΠΎ Ρ€Π΅Π΄ ќС Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° со Π΄ΡƒΠΏΠ»ΠΈΡ€Π°ΡšΠ΅ Π½Π° сè. Но, Π²ΠΈΠ΅ Π½Π΅ стС Π³Π»ΡƒΠΏΠ°Π²ΠΈ, Π½Π΅ΠΌΠ° Π΄Π° ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Π΄Π²Π°ΠΏΠ°Ρ‚ΠΈ ΠΈ Π½Π΅ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π°.

Π‘ΠΈΡ‚Π΅ административни Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ истата срСдина ΠΊΠ°ΠΊΠΎ ΠΈ ситС ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅. Односно, Π°ΠΊΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ја ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌΠ΅ структурата Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ‚ΠΎΠ³Π°Ρˆ Ρ‚ΠΎΠ° Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ Ρ€Π°Ρ‡Π½ΠΎ со ΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠΌΠΈΡšΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡ‚Π΅ ΠΈ додавањС Π½ΠΎΠ²ΠΈ ΠΏΡ€Π΅ΠΊΡƒ Π½Π΅ΠΊΠΎΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° Π²ΠΈΠ·ΡƒΠ΅Π»Π½ΠΎ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π—Π° Ρ‚Π°ΠΊΠ²ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ создавамС посСбни скрипти - ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ насСкадС ΠΈ Π²ΠΎ ситС срСдини Π½Π° ист Π½Π°Ρ‡ΠΈΠ½ со Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π»ΠΈΠ² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚. Π—Π° ситС Π΄Ρ€ΡƒΠ³ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ со ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС користат слични ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π²ΠΎ PHP, Laravel, Laradock, Docker-Compose

P.S Π‘ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ сС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π½Π° MacOS. ΠŸΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΎΠ΄ Π½ΠΈΠ² сС ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ ΠΈ Π·Π° Linux. ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ†ΠΈ Π½Π° Windows, простСтС ΠΌΠΈ, Π½ΠΎ јас Π΄ΠΎΠ»Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΠΌ со Windows.

АјдС Π΄Π° замислимС ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π° ΠΊΠΎΠ³Π° Π½Π΅ΠΌΠ°ΠΌΠ΅ инсталирана Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° PHP Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ ΠΈ Π½ΠΈΡˆΡ‚ΠΎ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ.
Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΈ Π½Π°Ρ˜Π½ΠΎΠ²ΠΈΡ‚Π΅ Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° docker ΠΈ docker-compose. (ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС најдС Π½Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚)

docker -v && 
docker-compose -v

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

1. Π‘Ρ‚Π°Π²ΠΈ Π›Π°Ρ€Π°Π΄ΠΎΠΊ

git clone https://github.com/Laradock/laradock.git && 
ls

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

Π’ΠΎ врска со Π›Π°Ρ€Π°Π΄ΠΎΠΊ, ќС ΠΊΠ°ΠΆΠ°ΠΌ Π΄Π΅ΠΊΠ° Π΅ ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΡƒΠ» Ρ€Π°Π±ΠΎΡ‚Π°, која содрТи ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΈ помошни Ρ€Π°Π±ΠΎΡ‚ΠΈ. Но, јас Π½Π΅ Π±ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡Π°Π» Π΄Π° Π³ΠΎ користитС Laradock ΠΊΠ°ΠΊΠΎ Ρ‚Π°ΠΊΠΎΠ² Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΎ производството ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° вишок. ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΠΎ Π΅ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ свои ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π²Ρ€Π· основа Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ Π›Π°Ρ€Π°Π΄ΠΎΠΊ, ΠΎΠ²Π° ќС Π±ΠΈΠ΄Π΅ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ, бидСјќи Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ ΠΌΡƒ Ρ‚Ρ€Π΅Π±Π° сè ΡˆΡ‚ΠΎ Π΅ Ρ‚Π°ΠΌΡƒ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅.

2. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΎ Laradock Π΄Π° ја ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° Π½Π°ΡˆΠ°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°.

cd laradock && 
cp env-example .env

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

2.1. ΠžΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ Π³ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ habr (ΠΌΠ°Ρ‚ΠΈΡ‡Π½Π°Ρ‚Π° ΠΏΠ°ΠΏΠΊΠ° Π²ΠΎ која Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½ laradock) Π²ΠΎ нСкој ΡƒΡ€Π΅Π΄Π½ΠΈΠΊ. (Π’ΠΎ ΠΌΠΎΡ˜ΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ PHPStorm)

Π’ΠΎ ΠΎΠ²Π°Π° Ρ„Π°Π·Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΠΌΡƒ Π΄Π°Π²Π°ΠΌΠ΅ само ΠΈΠΌΠ΅.

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

2.2. Π‘Ρ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅ ја сликата Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ простор. (Π’ΠΎ Π²Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜, Π½Π° сликитС ќС ΠΈΠΌ Ρ‚Ρ€Π΅Π±Π° извСсно Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄Π°Ρ‚)
Π Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ простор Π΅ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½Π° слика Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π²ΠΎ ΠΈΠΌΠ΅ Π½Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΎΡ‚.

Π’Π»Π΅Π³ΡƒΠ²Π°ΠΌΠ΅ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ

docker-compose up -d workspace && 
docker-compose exec workspace bash

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

2.3. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π›Π°Ρ€Π°Π²Π΅Π»

composer create-project --prefer-dist laravel/laravel application

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

2.4. По ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π°ΠΌΠ΅ Π΄Π°Π»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ со ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Π½ ΠΈ kill compose.

ls
exit
docker-compose down

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

2.5. АјдС Π΄Π° сС Π²Ρ€Π°Ρ‚ΠΈΠΌΠ΅ Π½Π° PHPStorm ΠΈ Π΄Π° ја поставимС ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°Ρ‚Π° ΠΏΠ°Ρ‚Π΅ΠΊΠ° Π΄ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° laravel Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° .env.

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

3. Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ Π³ΠΎ Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π²ΠΎ Git.

Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, ќС создадСмС ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Π½Π° Github (ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ΅ Π±ΠΈΠ»ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ мСсто). АјдС Π΄Π° ΠΎΠ΄ΠΈΠΌΠ΅ Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ habr Π²ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ слСдниот ΠΊΠΎΠ΄.

echo "# habr-12factor" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:nzulfigarov/habr-12factor.git # здСсь Π±ΡƒΠ΄Π΅Ρ‚ ссылка Π½Π° ваш Ρ€Π΅ΠΏΠΎ
git push -u origin master
git status

АјдС Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠ΅ Π΄Π°Π»ΠΈ сС Π΅ Π²ΠΎ Ρ€Π΅Π΄.

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

Π—Π° погодност, ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌ Π΄Π° користитС нСкој Π²ΠΈΠ·ΡƒΠ΅Π»Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π·Π° Git, Π²ΠΎ ΠΌΠΎΡ˜ΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ Ρ‚ΠΎΠ° Π΅ GitKraken. (Π΅Π²Π΅ Π»ΠΈΠ½ΠΊ Π·Π° ΡƒΠΏΠ°Ρ‚ΡƒΠ²Π°ΡšΠ΅)

4. АјдС Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅!

ΠŸΡ€Π΅Π΄ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ Π½ΠΈΡˆΡ‚ΠΎ Π½Π΅ виси Π½Π° ΠΏΠΎΡ€Ρ‚ΠΈΡ‚Π΅ 80 ΠΈ 443.

docker-compose up -d nginx php-fpm

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

Π’Π°ΠΊΠ°, Π½Π°ΡˆΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ сС состои ΠΎΠ΄ 3 посСбни услуги:

  • nginx - Π²Π΅Π± сСрвСр
  • php-fpm - php Π·Π° ΠΏΡ€ΠΈΠΌΠ°ΡšΠ΅ Π±Π°Ρ€Π°ΡšΠ° ΠΎΠ΄ Π²Π΅Π±-сСрвСр
  • Ρ€Π°Π±ΠΎΡ‚Π΅Π½ простор - php Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ

Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², постигнавмС Π΄Π΅ΠΊΠ° Π½Π°ΠΏΡ€Π°Π²ΠΈΠ²ΠΌΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° која исполнува 4 ΠΏΠΎΠ΅Π½ΠΈ ΠΎΠ΄ 12, ΠΈ Ρ‚ΠΎΠ°:

1. Кодбаза β€” Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π΅ Π²ΠΎ Π΅Π΄Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ (ΠΌΠ°Π»Π° забСлСшка: ΠΌΠΎΠΆΠ΅Π±ΠΈ Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π΅ Π΄ΠΎΠΊΠ΅Ρ€ Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π»Π°Ρ€Π°Π²Π΅Π», Π½ΠΎ Ρ‚ΠΎΠ° Π½Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ).

2. Зависности - Π‘ΠΈΡ‚Π΅ наши зависности сС Сксплицитно напишани Π²ΠΎ application/composer.json ΠΈ Π²ΠΎ сСкоја Dockerfile ΠΎΠ΄ сСкој ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€.

3. Услуги Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° β€” БСкоја ΠΎΠ΄ услугитС (php-fom, nignx, Ρ€Π°Π±ΠΎΡ‚Π΅Π½ простор) ΠΆΠΈΠ²Π΅Π΅ свој ΠΆΠΈΠ²ΠΎΡ‚ ΠΈ Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½Π° ΠΎΠ΄Π½Π°Π΄Π²ΠΎΡ€ ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со Π΅Π΄Π½Π° услуга, Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ засСгната.

4. ΠŸΡ€ΠΎΡ†Π΅ΡΠΈ β€” сСкоја услуга Π΅ Π΅Π΄Π΅Π½ процСс. БСкоја ΠΎΠ΄ услугитС Π½Π΅ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π° Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°.

5. Π’Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ

docker ps

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

Како ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅, сСкоја услуга Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° сопствСна ΠΏΠΎΡ€Ρ‚Π° ΠΈ Π΅ достапна Π·Π° ситС Π΄Ρ€ΡƒΠ³ΠΈ услуги.

6. ΠŸΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°ΠΌ

Docker Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° создадСмС повСќС процСси Π½Π° исти услуги со автоматско Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ΠΌΠ΅Ρ“Ρƒ Π½ΠΈΠ².

Π”Π° Π³ΠΈ Π·Π°ΠΏΡ€Π΅ΠΌΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ Π΄Π° Π³ΠΈ ΠΏΠΎΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½ΠΈΠ· Π·Π½Π°ΠΌΠ΅Ρ‚ΠΎ -- скала

docker-compose down && 
docker-compose up -d --scale php-fpm=3 nginx php-fpm

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

Како ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅, создадСни сС ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ php-fpm. НС Ρ‚Ρ€Π΅Π±Π° Π½ΠΈΡˆΡ‚ΠΎ Π΄Π° ΠΌΠ΅Π½ΡƒΠ²Π°ΠΌΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со овој ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. НиС, исто Ρ‚Π°ΠΊΠ°, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π°ΠΌΠ΅ Π΄Π° ΠΌΡƒ пристапувамС Π½Π° ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ 9000, Π° Docker Π³ΠΎ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€Π° Ρ‚ΠΎΠ²Π°Ρ€ΠΎΡ‚ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° нас.

7. Π•Π΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° - сСкој ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡƒΠ±ΠΈΠ΅ Π±Π΅Π· Π΄Π° ΠΌΡƒ Π½Π°ΡˆΡ‚Π΅Ρ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠΎΡ‚. Π—Π°ΠΏΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΈΠ»ΠΈ Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ Π½Π΅ΠΌΠ° Π΄Π° влијаС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° слСднитС Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ°. БСкој ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ Π²ΠΎ сСкоС Π²Ρ€Π΅ΠΌΠ΅.

8. ΠŸΠ°Ρ€ΠΈΡ‚Π΅Ρ‚ Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜/ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° - ситС наши срСдини сС исти. Π‘ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° систСмот Π½Π° сСрвСр Π²ΠΎ производство, Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΡ€Π° Π΄Π° ΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Π½ΠΈΡˆΡ‚ΠΎ Π²ΠΎ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π‘Γ¨ ќС сС Π±Π°Π·ΠΈΡ€Π° Π½Π° Docker Π½Π° ист Π½Π°Ρ‡ΠΈΠ½.

9. Π‘Π΅Ρ‡Π° - ситС Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π²ΠΎ ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΎΠ΄Π°Ρ‚ Π²ΠΎ прСнос ΠΈ сС Π²ΠΈΠ΄Π»ΠΈΠ²ΠΈ Π²ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Docker. (Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚, со Π΄Ρ€ΡƒΠ³ΠΈ домашни ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ, ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π±ΠΈΠ΄Π΅ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π°ΠΊΠΎ Π½Π΅ сС Π³Ρ€ΠΈΠΆΠΈΡ‚Π΅ Π·Π° Ρ‚ΠΎΠ°)

 docker-compose logs -f

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

Но, постои забСлСшка Π²ΠΎ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ стандарднитС врСдности Π²ΠΎ PHP ΠΈ Nginx исто Ρ‚Π°ΠΊΠ° ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. Π—Π° Π΄Π° сС исполнат 12-Ρ‚Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π»ΠΎΠ³ΠΎΠ²ΠΈ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° сСкој ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ посСбно.

Docker, исто Ρ‚Π°ΠΊΠ°, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° моТност Π·Π° ΠΈΡΠΏΡ€Π°ΡœΠ°ΡšΠ΅ Π»ΠΎΠ³ΠΎΠ²ΠΈ Π½Π΅ само Π·Π° stdout, Ρ‚ΡƒΠΊΡƒ ΠΈ Π·Π° Ρ‚Π°ΠΊΠ²ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС graylog, ΡˆΡ‚ΠΎ Π³ΠΈ спомСнав ΠΏΠΎΠ³ΠΎΡ€Π΅. И Π²Π½Π°Ρ‚Ρ€Π΅ Π²ΠΎ Graylog, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ со Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сакамС ΠΈ Π½Π°ΡˆΠ°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ Ρ‚ΠΎΠ° Π½Π° кој Π±ΠΈΠ»ΠΎ Π½Π°Ρ‡ΠΈΠ½.

10. Административни Π·Π°Π΄Π°Ρ‡ΠΈ β€” ситС административни Π·Π°Π΄Π°Ρ‡ΠΈ сС Ρ€Π΅ΡˆΠ°Π²Π°Π°Ρ‚ со Laravel Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° artisan Ρ‚ΠΎΠΊΠΌΡƒ ΠΎΠ½Π°ΠΊΠ° ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π±ΠΈ сакалС ΠΊΡ€Π΅Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° 12 Ρ„Π°ΠΊΡ‚ΠΎΡ€.

Како ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ќС ΠΏΠΎΠΊΠ°ΠΆΠ°ΠΌ ΠΊΠ°ΠΊΠΎ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π½Π΅ΠΊΠΎΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
Π’Π»Π΅Π³ΡƒΠ²Π°ΠΌΠ΅ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚.

 
docker-compose exec workspace bash
php artisan list

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° користимС која Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°. (Π’Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° Π½Π΅ Π³ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π²ΠΌΠ΅ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ ΠΊΠ΅ΡˆΠΎΡ‚, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π½Π΅ΠΌΠ° Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠ°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, бидСјќи Ρ‚ΠΈΠ΅ сС Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со ΠΊΠ΅ΡˆΠΎΡ‚ ΠΈ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ).

Развој Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ сино-Π·Π΅Π»Π΅Π½ΠΎ, засновано Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° дванаСсСт Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ со ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π²ΠΎ php ΠΈ docker

11. ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ 12 Π³ΠΎΠ΄ΠΈΠ½Π°. Π˜Π·Π³Ρ€Π°Π΄Π΅Ρ‚Π΅, ослободСтС, Ρ‚Ρ€Ρ‡Π°Ρ˜Ρ‚Π΅

Π‘Π°ΠΊΠ°Π² Π΄Π° Π³ΠΎ посвСтам овој Π΄Π΅Π» Π½Π° Π‘ΠΈΠ½ΠΎ-Π·Π΅Π»Π΅Π½ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅, Π½ΠΎ сС ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄Π΅ΠΊΠ° Π΅ ΠΏΡ€Π΅ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΠ±Π΅ΠΌΠ΅Π½ Π·Π° ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°. ЌС напишам посСбна ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π·Π° ΠΎΠ²Π°.

Накратко, ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΎΡ‚ сС заснова Π½Π° CI/CD систСми ΠΊΠ°ΠΊΠΎ ЏСнкинс ΠΈ Π“ΠΈΡ‚Π»Π°Π± CI. Π’ΠΎ Π΄Π²Π΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° поставитС ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° срСдина. Π‘ΠΏΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ°, Π²ΠΎ ΠΎΠ²Π°Π° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°, Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π² ќС Π±ΠΈΠ΄Π΅ исполнСта ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

И ΠΏΠΎΠ΅Π½Ρ‚Π°Ρ‚Π° Π·Π° Π˜Π·Π³Ρ€Π°Π΄Π΅Ρ‚Π΅, ослободСтС, Ρ‚Ρ€Ρ‡Π°Ρ˜Ρ‚Π΅ сС Ρ€Π΅ΡˆΠ°Π²Π° со Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ со ΠΈΠΌΠ΅Ρ‚ΠΎ Гасоводот.

Гасоводот Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ процСсот Π½Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ Ρ„Π°Π·ΠΈ, ΠΈΡΡ‚Π°ΠΊΠ½ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ Ρ„Π°Π·ΠΈΡ‚Π΅ Π½Π° ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅, ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅. Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΎ Pipeline, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ ΠΊΠΎΠΏΠΈΠΈ, ΠΈ навистина сè. Ова Π΅ Π°Π»Π°Ρ‚ΠΊΠ° со Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°Π».

ΠšΠΎΠ΄ΠΎΡ‚ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ Π½Π° Github.
НС Π·Π°Π±ΠΎΡ€Π°Π²Π°Ρ˜Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΎΡ‚ ΠΏΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠ²Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅.

P.S.: Π‘ΠΈΡ‚Π΅ ΠΎΠ²ΠΈΠ΅ пристапи ΠΌΠΎΠΆΠ΅ Π΄Π° сС користат со ΠΊΠΎΠΈ Π±ΠΈΠ»ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ ΠΈ програмски Ρ˜Π°Π·ΠΈΡ†ΠΈ. Π“Π»Π°Π²Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ Π΄Π΅ΠΊΠ° ΡΡƒΡˆΡ‚ΠΈΠ½Π°Ρ‚Π° Π½Π΅ сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π°.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€