Bu dərs «Deploy nədir: kodun noutbukdan istifadəçiyə qədər yolu» mövzusunu və onun real proqramlaşdırmadakı yerini izah edir. Material lokal mühitdə işlədilə, dəyişdirilə və yoxlanıla bilən kiçik nümunələr üzərində qurulub. Əvvəlcə tapşırığı və gözlənilən nəticəni müəyyən edirik, sonra əsas həlli, onun məhdudiyyətlərini və daha etibarlı yanaşmanı nəzərdən keçiririk.
Dərsin sonunda bu üsulun nə vaxt istifadə olunduğunu izah edə, minimal işlək nümunə qura və tipik səhvləri yoxlaya biləcəksiniz.
Tapşırığa yanaşma
Tələblərdən başlayın: hansı məlumat və ya sorğu gəlir, hansı nəticə gözlənilir və hansı xətalar mümkündür. Girişi, əsas məntiqi və çıxışı ayırın. Aydın məsuliyyətləri olan komponentlər yaradın; konfiqurasiya və məxfi açarları mənbə koduna yazmayın. Nümunə başlanğıc nöqtəsidir, hər layihə üçün hazır modul deyil.
Nümunə 1
FROM python:3.12-slim AS runtime
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "-m", "http.server", "8000"]Nümunələrin izahı
Birinci fraqment həllin əsas formasını göstərir. İkincidə giriş şərtləri yoxlanılır və uğursuzluq idarə olunur. Üçüncü fraqment həmin yanaşmanı kiçik tətbiq kontekstində nümayiş etdirir. Layihəyə uyğunlaşdırarkən tədris dəyərlərini real məlumatlarla əvəz edin və həm uğurlu, həm də xətalı ssenariləri yoxlayın.
Nümunə 2
services:
web:
build: .
ports:
- "8000:8000"
environment:
APP_ENV: development
depends_on:
- db
db:
image: postgres:16
environment:
POSTGRES_DB: app
POSTGRES_PASSWORD: local_onlyNümunə 3
docker compose build
docker compose up -d
docker compose ps
docker compose logs --tail=100 web
docker compose downTətbiq
Yığımı təkrarlana bilən edin, məxfi dəyərləri işə salınarkən verin, yerləşdirmədən sonra sağlamlığı və jurnalları yoxlayın.
Praktiki tapşırıq
- Dərsin mövzusuna uyğun kiçik nümunə yaradın və lokal işə salın.
- Adi ssenarini, boş girişi, səhv tipi və çatışmayan asılılıq və ya qeydi yoxlayın.
- Xəta emalı və çağıran kod üçün aydın mesaj əlavə edin.
- Kodu kiçik hissələrə bölün və hər dəyişiklikdən sonra yenidən başladın.
- Hansı qərarların freymvorkdan, mühitdən və ya alət versiyasından asılı olduğunu qeyd edin.
Nələrə diqqət etməli
Versiya və konfiqurasiya fərziyyələrini yoxlamadan nümunəni köçürməyin. Şifrə, token və ya açarı repozitoriyada saxlamayın. Sərhəddə xətaları yoxlayın, etibarsız girişi doğrulayın və istisnaları boş emalçı ilə gizlətməyin. Təkrar başladılmanı, giriş hüquqlarını və qismən icranın nəticələrini nəzərə alın.
Yekun
Əsas fikir əvvəlcə müqaviləni və tapşırığın sərhədlərini müəyyən etmək, sonra sadə həll seçib bir neçə ssenaridə yoxlamaqdır. Etibarlı kod xətaları aydın göstərir, parametrləri mənbə kodundan kənarda saxlayır və tələblər dəyişəndə anlaşılan qalır.