[Thinknetica] ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΠΎΡΠΈΡΠΎΠ² β ΠΠ΅ΠΏΠ»ΠΎΠΉ Ruby on Rails ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Docker Swarm ΠΈ MRSK (2023)

ΠΡΠΎΡ Π²ΠΎΡΠΊΡΠΎΠΏ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ mrsk Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Ruby on Rails ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Docker ΠΏΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅.
ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΡΡΠΎΠΈΡΡ ΡΡ Π΅ΠΌΡ Π΄Π΅ΠΏΠ»ΠΎΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ΄-ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ±ΡΡΠ½ΠΎ ΠΌΡ Π΄Π΅ΠΏΠ»ΠΎΠΈΠΌ Π½Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ capistrano. ΠΡΡ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ Π ΡΠ±ΠΈ. ΠΠ° Π²ΠΎΡΠΊΡΠΎΠΏΠ΅ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Docker, ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½Π°Π»ΠΎΠ³ capistrano 2023 Π³ΠΎΠ΄Π° β mrsk
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
ΠΠ΅Π½Ρ 1. ΠΠΎΠΊΠ΅ΡΠΈΠ·Π°ΡΠΈΡ Rails ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΠ±ΡΠ°Π·, ΡΠ΅Π³ΠΈΡΡΡ
- Dockerfile
- ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
- ΠΏΠΎΡΡ
- Π²ΠΎΠ»ΡΡΠΌ
- docker-compose
- ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Ruby on Rails
ΠΡΠ²Π΅ΠΆΠΈΡΠ΅/ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Docker, Π½Π°ΡΡΠΈΡΠ΅ΡΡ Π΄ΠΎΠΊΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Rails-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠΊΠ΅ΡΠΈΠ·ΠΈΡΡΠ΅ΡΠ΅ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ.
ΠΠ΅Π½Ρ 2. ΠΠ΅ΠΏΠ»ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ docker swarm
- ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ docker swarm
- Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°
- Π΄Π΅ΠΏΠ»ΠΎΠΉ
- ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ
- ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅
- Π»ΠΎΠ³ΠΈ
- ΡΠΊΠ΅ΠΉΠ»ΠΈΠ½Π³
- ΡΠ°Π·Π΄Π°ΡΠ° ΡΡΠ°ΡΠΈΠΊΠΈ
- Π΄Π΅ΠΏΠ»ΠΎΠΉ Ρ gitlab ci
- Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
- Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ
- Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ nginx
ΠΠ°ΡΡΠΈΡΠ΅ΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Rails-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Docker Swarm. ΠΠ°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΠ΅ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ ΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
ΠΠ΅Π½Ρ 3. ΠΠ΅ΠΏΠ»ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ mrsk
- ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ mrsk
- Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°
- Π΄Π΅ΠΏΠ»ΠΎΠΉ
- ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ
- ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅
- Π»ΠΎΠ³ΠΈ
- ΡΠΊΠ΅ΠΉΠ»ΠΈΠ½Π³
- ΡΠ°Π·Π΄Π°ΡΠ° ΡΡΠ°ΡΠΈΠΊΠΈ
- Π΄Π΅ΠΏΠ»ΠΎΠΉ Ρ gitlab ci
- Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΠ°ΡΡΠΈΡΠ΅ΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Rails-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ mrsk. ΠΠ°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΠ΅ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ ΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
ΠΠ° Π²ΡΠ΅ΠΌΡ Π²ΠΎΡΠΊΡΠΊΠΎΠΏΠ° Π²Ρ:
- ΠΠ°ΡΡΠΈΡΠ΅ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π΄ΠΎΠΊΠ΅Ρ-ΠΎΠ±ΡΠ°Π·Ρ Π΄Π»Ρ Rails-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- Π‘ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Rails-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ mrsk
- Π‘ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Rails-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ docker swarm
- ΠΠΎΠΉΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ Π²Π΅ΡΡΠΈΠΈ Ruby ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄ΠΎΠΌ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Ρ ΠΎΡΡΠΈΠ½Π³.
- ΠΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π΅ΠΏΠ»ΠΎΡ Π² ΡΠ²ΠΎΠΉ Π°ΡΡΠ΅Π½Π°Π» ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
Π‘ΠΊΡΡΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΠΉΡΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ.
Π‘ΠΠΠ§ΠΠ’Π¬Π‘ΠΊΡΡΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΠΉΡΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ.