Sobes.tech
Middle

Jak probíhá proces nasazení (deployment) aplikace?

sobes.tech AI

Odpověď od AI

Automatizovaný proces nasazení zahrnuje následující kroky:

  1. Získání aktuální verze kódu: Obvykle se používá systém správy verzí (například Git) k získání posledních změn z repozitáře.

    # Příklad příkazu Git pro získání posledních změn
    git pull origin main
    
  2. Instalace závislostí: Pokud projekt používá správce závislostí (například Composer), spustí se příkaz pro instalaci nebo aktualizaci knihoven.

    // Příklad příkazu Composer
    composer install --no-dev --optimize-autoloader
    
  3. Sestavení frontendu (pokud je): Pokud se používá bundler frontendu (například Webpack, Gulp), spustí se příkaz pro sestavení statických zdrojů.

    # Příklad příkazu NPM pro sestavení
    npm run build
    
  4. Migrace databáze: Spouštějí se skripty pro přizpůsobení struktury databáze aktuální verzi aplikace.

    # Příklad příkazu pro provedení migrací
    php artisan migrate --force # Laravel
    
  5. Vyčištění a předhřátí cache: Vymaže se cache frameworku a dat, případně se předhřeje.

    // Příklad příkazů pro vyčištění cache
    php artisan cache:clear # Laravel
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    
  6. Vytvoření symbolických odkazů a oprávnění: Nastaví se potřebné symbolické odkazy a oprávnění k souborům a adresářům.

    # Příklad příkazu pro nastavení oprávnění
    chmod -R 755 storage
    
  7. Přepnutí aktivní verze: Pokud se používá přístup "nulového prostojového času" (například vytvořením symbolického odkazu current na novou sestavu), provede se přepnutí.

  8. Restart služeb (pokud je potřeba): Pokud aplikace vyžaduje restart webového serveru nebo pracovníků fronty, spustí se příslušný příkaz.

    # Příklad příkazu pro reload PHP-FPM
    sudo systemctl reload php-fpm.service
    

Celý tento proces je obvykle automatizován pomocí skriptů nebo specializovaných nástrojů pro nasazení (například Capistrano, Deployer, GitLab CI/CD, Jenkins).