19-21 Π°Π²Π³ΡΡΡΠ° ΠΏΡΠΎΠΉΠ΄Π΅Ρ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²
ΠΠ»Π°Π²Π½ΡΠΉ Π²ΡΠ°Π³, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΠΎΡΠ΅ΡΡΡ ΠΊΡΡΡ ΠΏΠΎ DevOps: Β«ΠΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΆΠ°Π»Ρ, ΡΡΠΎ Ρ Π½Π°Ρ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ Π²Π½Π΅Π΄ΡΠΈΡΡΒ». ΠΡ ΠΈΡΠ΅ΠΌ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π½Π΅Π΄ΡΠΈΡΡ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΡΡΠ½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ Π² Π»Π΅Π³Π°ΡΠΈ-ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ:
- Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ², ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ Π²Π½Π΅Π΄ΡΡΡΡ DevOps-ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Β«ΡΠ½ΠΈΠ·ΡΒ»;
- ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΈΠ΄ΡΠΈ ΠΊ DevOps-ΠΊΡΠ»ΡΡΡΡΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΡΠ°Π³Π°ΠΌΠΈ;
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ Β«Π°Π΄ΠΌΠΈΠ½ΡΠΊΠΈΠΌΠΈ ΡΡΡΡΠΊΠ°ΠΌΠΈΒ», ΡΡΠΎΠ±Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΠΎΡΠΈΡ ΠΎΠ½ΡΠΊΡ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΡΠΈΠΌΠ»ΠΈΠ΄Π° ΠΊΡΠΎΡΡ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΆΠ΅ Π·Π½Π°Π΅Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ DevOps-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΡ Π½Π΅ ΡΠ·Π½Π°Π΅ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ.
ΠΠ½Π»Π°ΠΉΠ½-ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ² β ΡΠΎΡΠΌΠ°Ρ Π½ΠΎΠ²ΡΡ ΡΠ΅Π°Π»ΠΈΠΉ, ΠΎΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΎΡΠ»Π°ΠΉΠ½-ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· ΠΏΠΎΠ΅Π·Π΄ΠΊΠΈ Π² ΠΠΎΡΠΊΠ²Ρ (ΡΡΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΈΡ ΠΏΠ»ΡΡ, Π° Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΈΠ½ΡΡ).
ΠΡ ΡΠΆΠ΅ Π΄Π²Π°ΠΆΠ΄Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈ ΠΊΡΡΡ ΠΏΠΎ DevOps ΠΈ ΡΠΎΠ±ΡΠ°Π»ΠΈ Π²ΡΠ΅ ΡΠΈΡΠΊΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΈ.
ΠΠ»Π°Π²Π½Π°Ρ ΡΠΈΡΠΊΠ° β ΠΎΠ±ΠΌΠ°Π½ΡΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ°Π·Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅Π³ΠΎ Π½Π° ΠΊΡΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΠ΅ Π±ΡΠ΄Π΅Ρ Π±Π΅ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ. ΠΡΠ΄Π΅Ρ ΡΠ°Π·Π±ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ Π±Π΅ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΌΠ° CI/CD, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅Π΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ², Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 4 ΡΠ°ΡΠ°. ΠΠ° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½, Π½ΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΏΠ°ΡΠΊΡ Π±Π΅ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΊΠ΅ΠΉΡΠΎΠ².
ΠΠ΅ΠΉΡΠΎΠ² ΡΠΎΠΆΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠ΅ΠΉΡΡ β ΡΡΠΎ ΡΠ΅ΠΌΠ° Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ. Π’Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»ΡΡΠ°ΠΉ ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ. ΠΠ° Π‘Π»ΡΡΠΌΠ΅ Π»Π΅ΠΊΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Β«ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²Π·ΡΡ ΠΈΠ· ΠΌΠΎΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈΒ», Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅.
ΠΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. ΠΡΠ°ΠΊΡΠΈΠΊΠ° β ΡΡΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠΎΡΠΈΠ½Π³, ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π° Π»Π΅ΠΊΡΠΎΡΠΎΠΌ. Π¦Π΅Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ β Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π² ΡΠ²ΠΎΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Ρ ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΠΎΡ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°. ΠΠΎΡΠ»Π΅ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ. ΠΡΠΎ Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠ΅ Π±ΡΠ΄Π΅Ρ Kubernetes β Ρ
ΠΎΡΡ ΡΡΠΎ ΠΈ DevOps-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Ρ Π½Π°Ρ ΠΏΠΎ Π½Π΅ΠΌΡ
Π ΡΡΠΎ Π±ΡΠ΄Π΅Ρ?
ΠΡΠ΄Π΅Ρ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Ρ Π½ΡΠ»Ρ ΠΈ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
ΠΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π· ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ² ΠΏΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π·Π±ΠΎΡ ΠΊΠ΅ΠΉΡΠΎΠ².
ΠΡΠ΄ΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ.
ΠΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠΈΠ΄Π±Π΅ΠΊΠΎΠΌ: ΠΌΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΏΡΠΎΡΠΈΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ. ΠΠΈΡΠΈΡΠ΅ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ, Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π½Π° Ρ ΠΎΠ΄Ρ.
Π Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π±ΡΠ°ΡΡ Π΄Π΅Π½ΡΠ³ΠΈ ΠΈ ΡΠΉΡΠΈ, Π΅ΡΠ»ΠΈ ΠΊΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π°
Π’Π΅ΠΌΠ° β1: ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Git
- ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git init, commit, add, diff, log, status, pull, push
- Git flow, Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΅Π³ΠΈ, ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ merge
- Π Π°Π±ΠΎΡΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ remote rep
- GitHub flow
- Fork, remote, pull request
- ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΡΠ΅Π»ΠΈΠ·Ρ, Π΅ΡΠ΅ ΡΠ°Π· ΠΏΡΠΎ Gitflow ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ flow ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ
Π’Π΅ΠΌΠ° β2: Π Π°Π±ΠΎΡΠ° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- ΠΠΈΡΠ΅ΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π½Π° Python
- ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈ ΡΠ½ΠΈΡ ΡΠ΅ΡΡΡ
- ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ docker-compose Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅
Π’Π΅ΠΌΠ° β3: CI/CD: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ (bash, make, gradle)
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git-hooks Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
- Π€Π°Π±ΡΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ½Π²Π΅Π΅ΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² IT
- ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Β«ΠΎΠ±ΡΠ΅Π³ΠΎΒ» ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°
- Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΠ Π΄Π»Ρ CI/CD: Drone CI, BitBucket Pipelines, Travis ΠΈ Ρ.ΠΏ.
Π’Π΅ΠΌΠ° β4: CI/CD: Π Π°Π±ΠΎΡΠ° Ρ GitLab
- GitLab CI
- GitLab Runner, ΠΈΡ ΡΠΈΠΏΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
- GitLab CI, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
- ΠΡΠ°ΠΏΡ GitLab CI
- ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ GitLab CI
- Π‘Π±ΠΎΡΠΊΠ°, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π΄Π΅ΠΏΠ»ΠΎΠΉ
- ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: only, when
- Π Π°Π±ΠΎΡΠ° Ρ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ°ΠΌΠΈ
- Π¨Π°Π±Π»ΠΎΠ½Ρ Π²Π½ΡΡΡΠΈ .gitlab-ci.yml, ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΡΠ°ΡΡΠΊΠ°Ρ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°
- Include β ΡΠ΅ΠΊΡΠΈΠΈ
- Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ gitlab-ci.yml (ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ push Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ)
Π’Π΅ΠΌΠ° β5: Infrastructure as Code
- IaC: ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ ΠΊΠ°ΠΊ ΠΊ ΠΊΠΎΠ΄Ρ
- ΠΠ±Π»Π°ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ, ΡΠ±ΠΎΡΠΊΠ° ΠΎΠ±ΡΠ°Π·ΠΎΠ² (packer)
- IaC Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Terraform
- Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
- ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ansible ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠΎΠ²
- ΠΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡΡ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΡΡΡ
- IaC Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ansible
Π’Π΅ΠΌΠ° β6: Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Molecule ΠΈ GitLab CI
- ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Vagrant
Π’Π΅ΠΌΠ° β7: ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Ρ Prometheus
- ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
- Π’ΠΈΠΏΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
- Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
- ΠΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π·Π΄ΠΎΡΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
- Π§Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, Π΄Π»Ρ Π²ΡΠ΅Ρ
- Health Check: Π½Π° ΡΡΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
Π’Π΅ΠΌΠ° β8: ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ELK
- ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- ELK ΡΡΠ΅ΠΊ
Π’Π΅ΠΌΠ° β9: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Ρ ChatOps
- DevOps ΠΈ ChatOps
- ChatOps: ΡΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ
- Slack ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
- ΠΠΎΡΡ Π΄Π»Ρ ChatOps
- Hubot ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΡΡΡΠΈΠ΅ ΠΈ Ρ ΡΠ΄ΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡΡΡ.
Π¦Π΅Π½Π°: 30 000 β½
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com