Barcha loyihalar
O'rtaDocker

Dockerize qilingan servis

Dockerize qilingan Node.js servisini GitHub Actions yordamida deploy qiling

DevOpsnodejsdockerdevops

Bu loyihaning maqsadi — oddiy Node.js servisini dockerize qilish va uni GitHub Actions yordamida masofaviy serverga deploy qilish. Shuningdek, secrets management'ni ham mashq qilasiz.

Talablar

Bu loyiha 4 qismdan iborat:

  • 1-qadam — Node.js servisini yaratish
  • 2-qadam — Node.js servisini dockerize qilish
  • 3-qadam — Masofaviy Linux serverni sozlash
  • 4-qadam — Dockerize qilingan Node.js servisini GitHub Actions yordamida masofaviy serverga deploy qilish

1-qism: Node.js servisini yaratish

Siz ikkita route'ga ega oddiy Node.js servisini yaratishingiz kerak:

  • / route - shunchaki Hello, world! qaytaradi
  • /secret route - Basic Auth bilan himoyalangan

Loyihada quyidagi o'zgaruvchilarga ega .env fayli bo'lishi kerak:

  • SECRET_MESSAGE - /secret route qaytarishi kerak bo'lgan maxfiy xabar
  • USERNAME - Basic Auth uchun foydalanuvchi nomi
  • PASSWORD - Basic Auth uchun parol

Foydalanuvchi /secret route'ga kirganda, undan foydalanuvchi nomi va parol so'ralishi kerak. Agar foydalanuvchi nomi va parol to'g'ri bo'lsa, u maxfiy xabarni ko'ra olishi kerak. Agar foydalanuvchi nomi va parol noto'g'ri bo'lsa, u xato xabarini ko'rishi kerak.

2-qism: Node.js servisini dockerize qilish

Node.js servisi uchun Docker image build qiladigan Dockerfile yarating. Docker image'ni lokal ishga tushira olishingiz kerak. .env fayli Docker image'ga kirmaganiga ishonch hosil qiling.

3-qism: Masofaviy Linux serverni sozlash

DigitalOcean, AWS yoki boshqa istalgan provayderda masofaviy Linux server sozlang. Uni SSH orqali qo'lda sozlashingiz yoki oldingi loyihalardagi Ansible yoki Terraform'ni birgalikda qo'llashingiz mumkin.

4-qism: Dockerize qilingan Node.js servisini deploy qilish

Docker image'ni build qilib, uni container registry'ga push qiladigan workflow yarating. So'ngra workflow Docker image'ni masofaviy serverga deploy qilishi kerak. GitHub Actions'dagi secrets management'ni bemalol o'rganib chiqing. Amalga oshirish tafsilotlarini sizning ixtiyoringizga qoldiraman.

<hr />

Loyihani tugatgach, ilovalarni dockerize qilish, masofaviy serverlarni sozlash, CI/CD workflow'larini amalga oshirish va secrets management bo'yicha amaliy tajribaga 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