π *ΠΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GitLab CI/CD* ΠΡΠΈΠ²Π΅Ρ, ΠΈΡΠΊΠ°ΡΠ΅Π»ΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΡ
ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ²! β¨ Π₯ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ Π΄Π΅ΠΏΠ»ΠΎΠΉ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠ»Π° Π³Π»Π°Π΄ΠΊΠΎ ΠΈ Π±Π΅Π· Π½Π΅ΡΠ²ΡΠΊΠ°? Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ ΡΠΎΡΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΠΌΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· CI/CD. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ², ΡΠ±ΠΎΡΠΊΡ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΏΡΡΠΌΠΎ ΠΈΠ· GitLab, Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ
Ρ
Π»ΠΎΠΏΠΎΡ. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π° β ΡΡΠΎ ΡΠ»ΠΎΠ²Π½ΠΎ Π΄ΠΈΡΠΈΠΆΠ΅Ρ ΠΎΡΠΊΠ΅ΡΡΡΠ°: ΠΎΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ, ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΡΠ°Π½Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΠ΅Π»ΠΈΠ·Ρ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ»ΡΡΡ: - ΠΡΡΡΡΡΠ΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ Π΄Π΅ΠΏΠ»ΠΎΠΈ - ΠΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΡΠ½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ - ΠΠ΅Π³ΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ CI/CD ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: stages: - test - build - deploy test: stage: test script: - echo "ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²..." - pytest build: stage: build script: - echo "Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°..." - npm run build deploy: stage: deploy script: - echo "ΠΠ΅ΠΏΠ»ΠΎΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ..." - rsync -avz ./dist user@server:/var/www/html/ ΠΠ΅ΡΡ ΡΠ΅ΠΊΡΠ΅Ρ β Π·Π°ΠΏΡΡΡΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ
ΠΎΡΠ΅ΡΡ, ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΆΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΌΠΈΠ½ΡΡΠ΅. ΠΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ
π *ΠΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GitLab CI/CD
28Β ΠΈΡΠ½ΡΒ 202528Β ΠΈΡΠ½Β 2025
1 ΠΌΠΈΠ½