Sobes.tech
Middle

Hoe verloopt het proces van het uitrollen (deployen) van de applicatie?

sobes.tech AI

Antwoord van AI

Het geautomatiseerde deploymentproces omvat de volgende stappen:

  1. Haal de actuele versie van de code op: Er wordt meestal een versiebeheersysteem (bijvoorbeeld Git) gebruikt om de laatste wijzigingen uit de repository te halen.

    # Voorbeeld van een Git-commando om de laatste wijzigingen op te halen
    git pull origin main
    
  2. Installeer afhankelijkheden: Als het project een afhankelijkheidsbeheerder gebruikt (bijvoorbeeld Composer), wordt een commando uitgevoerd om de bibliotheken te installeren of bij te werken.

    // Voorbeeld van een Composer-commando
    composer install --no-dev --optimize-autoloader
    
  3. Build het frontend (indien aanwezig): Als een frontend-bundelaar (bijvoorbeeld Webpack, Gulp) wordt gebruikt, wordt een commando uitgevoerd om de statische bronnen te bouwen.

    # Voorbeeld van een NPM-commando voor de build
    npm run build
    
  4. Database-migraties: Scripts worden uitgevoerd om de structuur van de database aan te passen aan de huidige versie van de applicatie.

    # Voorbeeld van een commando om migraties uit te voeren
    php artisan migrate --force # Laravel
    
  5. Cache legen en warm draaien: De cache van het framework en de gegevens worden leeggemaakt, en indien nodig wordt voorverwarmd.

    // Voorbeeld van commando's om cache te legen
    php artisan cache:clear # Laravel
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    
  6. Symbolische links en toegangsrechten: De benodigde symbolische links en toegangsrechten voor bestanden en directories worden ingesteld.

    # Voorbeeld van een commando om rechten in te stellen
    chmod -R 755 storage
    
  7. Schakel de actieve versie over: Als een aanpak met "zero downtime" wordt gebruikt (bijvoorbeeld door een symbolische link current naar de nieuwe build te maken), wordt de switch gemaakt.

  8. Herstart services (indien nodig): Als de applicatie het herstarten van de webserver of queue-werkers vereist, wordt het juiste commando uitgevoerd.

    # Voorbeeld van een commando om PHP-FPM te herstarten
    sudo systemctl reload php-fpm.service
    

Dit proces wordt meestal geautomatiseerd met behulp van scripts of gespecialiseerde deploymenttools (bijvoorbeeld Capistrano, Deployer, GitLab CI/CD, Jenkins).