Sobes.tech
Middle

Hogyan zajlik az alkalmazás telepítési (deploy) folyamata?

sobes.tech MI

Válasz az MI-től

Az automatizált telepítési folyamat a következő lépéseket tartalmazza:

  1. A legújabb kódverzió beszerzése: Általában verziókezelő rendszert (pl. Git) használnak a legutóbbi változtatások letöltéséhez a tárhelyről.

    # Git parancs példa a legújabb változtatások letöltéséhez
    git pull origin main
    
  2. Függőségek telepítése: Ha a projekt függőségkezelőt (pl. Composer) használ, akkor egy parancs futtatásával telepítik vagy frissítik a könyvtárakat.

    // Composer parancs példa
    composer install --no-dev --optimize-autoloader
    
  3. Frontend build (ha van): Ha frontend bundler-t (pl. Webpack, Gulp) használnak, akkor egy parancs futtatásával építik a statikus erőforrásokat.

    # NPM build parancs példa
    npm run build
    
  4. Adatbázis migrációk: Szkriptek futtatása az adatbázis szerkezetének a jelenlegi verzióhoz való igazítására.

    # Példa parancs a migrációk futtatására
    php artisan migrate --force # Laravel
    
  5. Gyorsítótár törlése és melegítése: A keretrendszer gyorsítótárának és adatoknak a törlése, majd szükség szerint előtöltése.

    // Gyorsítótár törléséhez példák
    php artisan cache:clear # Laravel
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    
  6. Szimbólikus linkek és jogosultságok beállítása: Szükséges szimbolikus linkek és jogosultságok konfigurálása a fájlokra és könyvtárakra.

    # Jogosultságok beállításának példája
    chmod -R 755 storage
    
  7. Aktív verzió váltása: Ha "nulla leállási idő" megközelítést alkalmaznak (pl. szimbolikus linket (current) hoznak létre az új build-re), akkor a váltás megtörténik.

  8. Szolgáltatások újraindítása (ha szükséges): Ha az alkalmazás újraindítást igényel a webszerver vagy a sorfeldolgozók esetében, akkor a megfelelő parancs futtatása.

    # Példa parancs a PHP-FPM újraindítására
    sudo systemctl reload php-fpm.service
    

Ez a folyamat általában szkriptek vagy speciális telepítési eszközök (pl. Capistrano, Deployer, GitLab CI/CD, Jenkins) segítségével automatizálva van.