SyMfonAK - vyvíjame databázy pomocou frameworku Symfony

Nasadenie (deployment)

Z SyMfonAK
Prejsť na: navigácia, hľadanie

Symfony dokumentácia → Nasadenie (deployment)


Ako nasadiť symfony aplikáciu

Nasadenie symfony aplikácie môže byť komplex činností. Podľa toho, aké nastavenia vyžaduje aplikácia. Tu sú rôzne myšlienky, čo asi treba všetko spraviť.

Deployment original dokumentácia.

Základy nasadenia symfony aplikácií

Ako nasadiť symfony aplikáciu

Základný prenos súborov

Využitie systémov na správu zdrojákov

Systémy na správu zdrojových kódov ako GIT alebo SVN pomáhajú zjednodušiť aj inštaláciu, upgrade je potom tak isto jednoduchý ako získavanie posledných updatov zo systému správy zdrojákov. Stále však ostanú mnohé manuálne činnostil, viď nižšie v sekcii o krokoch potrebných vykonať po nasadení.

Využitie rôznych platform od providerov

Využitie rôznych skriptov a nástrojov

Capistrano s https://github.com/capistrano/symfony/

Napísaný v Ruby, automatizuje nasadenie na vzdialené servre. Symfony plugin zjednodušuje úlohy súvisiace s nasadzovaním Symfony, inšpirovaný je Capifony (ktorý pracuje len s Capistrano 2).

sf2debpkg

Pomáha vytvárať Symfony balíčky typické pre Debian.

Magallanes

Pracuje podobne ako Capistrano a je písaný v PHP, uľahčuje prácu PHP vývojárom s ich špecifickými požiadavkami.

Fabric

Knižnica písana v Python pre vykonanie základných príkazov na shell, lokálne i na vzdialených serveroch a pre kopírovanie a sťahovanie súborov.

Deployer

Iný PHP nástroj podobný Capitano s pripravenými postupmi pre Symfony.

Bundles

Existuje niekoľko bundles pre nasadzovanie prístupné v konzole Symfony.

Zaujímavý je EasyCorp easy-deploy-bundle. Vo windows10 d:\xampp\htdocs\nasesk\composer.json som umiestnil "easycorp/easy-deploy-bundle": "*", a spustil príkaz composer update

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing easycorp/easy-deploy-bundle (v1.0.2) Downloading: 100%
Writing lock file
Generating autoload files
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache

Do app/AppKernel.php pridané new EasyCorp\Bundle\EasyDeployBundle\EasyDeployBundle(),

Potrebuje mať verzie ako Git na nejakom serveri. Preto treba naštudovať prácu s Git: Git - Správa verzií, alebo článok začíname s githubem, konkrétne pre xampp git a cygwin windows git tutoria cygwin ssh


Základné skripty

Samozrejme môžete využívať shell. Ant či iné zabudované skripty pre nasadzovanie vašich projektov.

Bežné typy úloh po nasadení

Po nasadední zdrojových kódov náš čakajú ďalšie kroky.

A) zisti požiadavky na systém

Zisti, či server poskytuje čo treba php bin/symfony_requirements

B) nastav konfiguračné súbory

Väčšina aplikácií Symfony má svoje parametre v súbore app/config/parameters.yml. Tento súbor však nemá byť nasadzovaný, lebo Symfony si ho automaticky vytvára zo súboru app/config/parameters.yml.dist, tento súbor je šablónou, preto musí byť tento súbor nasadzovaný.

Ak vaša aplikácia využíva premenné prostredia namiesto týchto parametrov, potom musíte tieto premenné prostredia definovať aj na produkčnom servri.

C) inštaluj / update váš Vendors

Update môžete urobiť ešte predtým, než kódy nasadíte alebo tam. Ako zvyčajne robíte.

D) vyčistiť cache Symfony

Nezabudnite vyčistiť cache warm-up cache.

php bin/console cache:clear --env="prod" --no-debug --no-warmup
php bin/console cache:warmup --env="prod"

E) Dump Assetic asset

Ak používate Assetic. php bin/console assetic:dump --env=prod --no-debug

F) Iné veci!

Napríklad:

  • spustiť migráciu databázy
  • vyčistiť cache APC
  • spustiť assets:install (už sa postaral composer intall)
  • pridať alebo upraviť CRON úlohy
  • publikovať assets na CDN
  • ...

Životný cyklus aplikácie: pokračovanie integrácie, test kvality, atď

Vývoj aplikácie má aj iné kroky než vývoj a nasadenie. Dôrazne doporučujeme zaistiť možný rollback, návrat k predchádzajúcemu stavu, ak niečo nevyšlo.


Užitočné linky