πŸ”„
Hosting

CI/CD Pipeline asoslari: avtomatlashtirilgan test va deploy

15.01.2031
← Barcha maqolalar

CI/CD β€” bu Continuous Integration (uzluksiz integratsiya) va Continuous Deployment (uzluksiz deploy) qisqartmasidir. Bu modern dasturchilar uchun standart amaliyot β€” kod o'zgartirishni avtomatik test qilish va production'ga deploy qilish jarayoni. Bu sizning dasturchilarimga vaqt tejaydi va xato'larni kamaytiradi.

CI/CD nima beradi?

Avtomatik testing β€” har kod o'zgartirishida automated testlar (unit, integration, e2e) ishga tushadi. Agar testlar muvaffaqiyatsiz bo'lsa, deploy bo'lmaydi.

Tez deploy β€” bir commitdan production'ga deploy bir necha daqiqa ichida. Manual deploy 1-2 soat olardi.

Konsistensiya β€” har deploy bir xil shaklda amalga oshadi, manual xato ehtimoli yo'q.

Rollback β€” agar bug topilsa, oldingi versiyaga tezda qaytib olish mumkin.

CI/CD pipeline qismlari

Source β€” kod manbai (GitHub, GitLab, Bitbucket repository).

Build β€” kod kompilyatsiya (Composer install, npm build), assets bundle.

Test β€” automated testlar β€” unit, integration, e2e (Cypress, Playwright).

Deploy β€” staging va production muhitlariga ko'chirish.

Monitor β€” deploy'dan keyin monitoring (Sentry, Datadog).

Asosiy vositalar

GitHub Actions β€” eng mashhur (GitHub bilan kelishilgan). YAML konfiguratsiya. 2000 minut bepul oyiga ochiq repositoriylar uchun.

GitLab CI/CD β€” GitLab repository bilan birga. YAML konfiguratsiya.

Jenkins β€” self-hosted, eng kuchli. Lekin sozlash va xizmat ko'rsatish murakkab.

CircleCI, Travis CI, BitBucket Pipelines β€” boshqa muqobillar.

Oddiy GitHub Actions misol

.github/workflows/deploy.yml fayli:

name: Deploy to Production
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run tests
        run: composer test
      - name: Deploy
        uses: SamKirkland/FTP-Deploy-Action@v4
        with:
          server: ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}

Sayt.uz amaliyot

Sayt.uz mijozlarining 6% to'liq CI/CD pipeline ishlatadi (asosan IT kompaniyalar va custom Laravel/Node.js loyihalar). 47 ta sayt GitHub Actions orqali deploy qiladi. Sayt.uz hostinglarida CI/CD'ga maxsus qo'llab-quvvatlash yo'q, lekin standart SFTP/SSH orqali integratsiya ishlaydi. Maslahat: CI/CD WordPress uchun keraksiz, lekin developer jamoa 3+ kishi bo'lsa, deploy va testlarni avtomatlash juda foydali.

O'xshash maqolalar

πŸ’° Hosting narx taqqoslash: O'zbekistondagi va xalqaro provider'lar πŸ“‘ Server monitoring vositalari: Prometheus, Grafana, Datadog va boshqalar 🌐 Edge computing hosting: hisoblashni foydalanuvchiga yaqinlashtirish 🏒 Colocation server: o'z hardware'ingizni data center'da joylash
🌐 Til
πŸ‡ΊπŸ‡Ώ O'zbek βœ“ πŸ‡ΊπŸ‡Ώ ЎзбСк πŸ‡·πŸ‡Ί Русский πŸ‡¬πŸ‡§ English