Git deploy โ bu kod o'zgartirishingiz GitHub yoki GitLab'da push qilganingizda avtomatik xostingingizga yetkazilish jarayonidir. FTP/SFTP orqali fayllarni qo'lda yuklash o'rniga โ git push, kelishi tayyor. Bu modern web development uchun standart.
Asosiy yondashuvlar
cPanel Git Version Control โ cPanel'da o'rnatilgan funksiya. Repository ulash, branch tanlash va deploy yaratish. cPanel branch'dagi har o'zgartirishni avtomatik pull qiladi va deploy qiladi. .cpanel.yml fayli orqali maxsus komandalar (composer install, npm build) bajarish mumkin.
Webhook-based deploy โ GitHub/GitLab'dan push hodisasi sizning serveringizdagi script'ni chaqiradi (POST request orqali). Script git pull bajaradi va kerakli ishlarni qiladi.
CI/CD pipeline โ yanada professional yondashuv (alohida maqola). GitHub Actions, GitLab CI yoki Jenkins orqali test va deploy.
cPanel Git Version Control sozlash
1. cPanel โ Git Version Control โ "Create" tugmasi. 2. Clone URL โ git@github.com:user/repo.git (SSH) yoki https://github.com/user/repo.git. 3. Repository Path โ qaerga clone qilish (masalan /home/user/repo). 4. Repository Name โ nom. 5. Create bosgach, repository clone qilinadi.
Deploy uchun .cpanel.yml fayl repository ildiziga qo'yiladi:
---
deployment:
tasks:
- export DEPLOYPATH=/home/user/public_html/
- /bin/cp -R src/* $DEPLOYPATH
- /bin/cp -R composer.json $DEPLOYPATH
- cd $DEPLOYPATH && composer install --no-dev
Webhook deploy
Webhook orqali deploy uchun: 1) Hosting'da PHP script: <?php exec('cd /home/user/repo && git pull && composer install'); ?>. 2) GitHub repository Settings โ Webhooks โ Add โ Payload URL (yoursite.uz/deploy.php), Content type application/json, secret token bilan himoyalang. 3) Push hodisasini tanlang. Endi har push'da deploy avtomatik amalga oshadi.
Xavfsizlik maslahatlari
Webhook secret tokenni doim ishlating va PHP script'da tekshiring. Production'ga deploy qilingach, hech qachon test branch'dan emas, faqat main yoki master'dan. composer.lock va package-lock.json fayllarni doim commit qiling. .env va boshqa maxfiy fayllarni .gitignore'ga qo'shing.
Sayt.uz amaliyot
Sayt.uz mijozlarining 18% Git deploy ishlatadi โ asosan developerlar va custom Laravel/Node.js loyihalar. cPanel Git Version Control default qo'llab-quvvatlanadi. Mijozlarimiz orasida 47 ta sayt GitHub Actions orqali avtomatik deploy ishlatadi. Maslahat: WordPress oddiy saytlar uchun Git deploy keraksiz murakkab โ manual FTP yetadi. Custom kod (Laravel, Node, custom PHP) uchun Git majburiy.