Barcha loyihalar
O'rtaCI/CD

Node.js servisini deploy qilish

GitHub Actions yordamida Node.js servisini remote server'ga deploy qiling

DevOpsnodejsdockerdevops

Ushbu loyihaning maqsadi — GitHub Actions yordamida Node.js servisi uchun CI/CD pipeline sozlashni mashq qilish. Siz deployment uchun GitHub Actions'dan (shu jumladan Secrets va environment variable'lardan), serverni provisioning qilish uchun Terraform'dan, serverni sozlash uchun Ansible'dan va ilovani deploy qilish uchun SSH'dan foydalanishni mashq qilasiz.

Talablar

Agar Configuration Management va IaC bo'yicha oldingi loyihalarni hali bajarmagan bo'lsangiz, avval ularni bajaring. O'sha loyihalardagi Ansible va Terraform kodidan qayta foydalana olasiz.

Sizda quyidagi sozlamalar bo'lishi kerak:

  • Terraform yordamida DigitalOcean droplet'ini sozlang
  • Serverni Ansible yordamida sozlang, jumladan Node.js va npm'ni o'rnating
  • Faqat Hello, world! qaytaradigan / route'iga ega oddiy Node.js servisini yarating
  • Kod bazasini GitHub repository'siga push qiling

Yuqoridagilarni sozlab bo'lgach, quyidagilarni amalga oshirishingiz kerak:

1-vazifa: Ansible orqali qo'lda deploy qilish

  • Ansible'da app nomli role sozlang; u serverga ulanadi, repository'ni clone qiladi, dependency'larni o'rnatadi, ilovani build qiladi va ishga tushiradi.

  • Playbook'ni quyidagi buyruq bilan ishga tushira olishingiz va ilova 80-portda ishlab turishi kerak:

    ansible-playbook node_service.yml --tags app
    
  • Ilovaga serverning public IP manzili orqali kira olishingiz kerak.

2-vazifa: GitHub Actions yordamida deployment'ni avtomatlashtirish

Ilovani quyidagi usullardan biri bilan serverga deploy qiladigan GitHub Action workflow'ini yozing. Ikkala variantni ham sinab ko'rishingiz mumkin, lekin bu majburiy emas. Xuddi shu natijaga erishish uchun boshqa istalgan usuldan ham foydalanishingiz mumkin.

1-variant: Playbook'ni GitHub Actions'da ishga tushirish

Playbook'ni ishga tushirish va ilovani deploy qilish uchun ansible-playbook buyrug'idan foydalaning

2-variant: SSH orqali ulanib, ilovani deploy qilish

Ulanish va ilovani deploy qilish uchun SSH'dan foydalaning. Buni amalga oshirish uchun rsync va quyidagi GitHub Actions'larni o'rganib chiqing: web-factory/ssh-agent, appleboy/ssh-action.

<hr />

Ilovani deploy qilganingizdan so'ng, serverni sozlash va unga ilovani deploy qilish jarayonini avtomatlashtirish haqida yaxshi tushunchaga ega bo'lasiz.

Yo'l xaritalariQo'llanmalarFAQYouTube

yo'lxaritaroadmap.shasosida

Hamjamiyat tomonidan yaratilgan yo'l xaritalari, eng yaxshi amaliyotlar, loyihalar, maqolalar, manbalar va yo'nalishlar — o'z yo'lingizni tanlash va kasbingizda o'sish uchun.

© yo'lxarita·Shartlar·Maxfiylik·

roadmap.sh

Barcha kontent roadmap.sh loyihasidan olingan (© Kamran Ahmed) va shaxsiy o'rganish uchun o'zbek tiliga tarjima qilinmoqda.

Qidiruv

Yo'l xaritalari, loyihalar va savollarni qidiring