Add new comment to Jednoduchý deploy skript nejen pro web v Silexu
Moje kniha o CMS Drupal
Poslední komentáře
- 2 days 15 hours ago
- 4 days 12 hours ago
- 1 week ago
- 1 week ago
- 1 week 2 days ago
- 3 months ago
- 3 months ago
- 5 months 1 week ago
- 6 months 1 week ago
- 6 months 1 week ago
Nové diskuze
- (2 months zpět)
- (2 months 1 week zpět)
- (4 months 3 weeks zpět)
- (6 months 1 week zpět)
- (1 year 3 months zpět)
- (1 year 4 months zpět)
- (1 year 7 months zpět)
- (1 year 8 months zpět)

ano, rozepsání je jen kvůli orientaci, když k takovému kódu příjdeš po roce, netušíš co dělá a musíš do nápovědy, ale je to marginální.
Hlášení o úpravě webu bych dělal jen u delšího výpadku, v případě rsyncu je i u velkého webu problém na max. pár desítek vteřin, u malého si toho nikdo nevšimne. Deploy bez výpadku je v php plný pastí, vždy podle projektu/frameworku jsem provozoval jiné řešení.
Nejlehčí řešení je rsyncovat projekt někam jinám např. do adresáře podle datumu /var/www/deploy/polzer.cz/$(date +%Y-%m-%d). Získáš s tím zároveň i jednoduchou možnost rollbacku. Máš několik možností:
1. použít symlinky
2. použít symlinky a přes htaccess podvrhnout adresář
3. změnit konfiguraci v apache/nginx a načítat z jiného adresáře
Pasti, na které narazíš:
- php-fpm si zjistí symlinky při startu a poté změny ignoruje, nutný restart/reload
- php opcache si bude pořád pamatovat staré soubory a je nutné jí reloadovat (pozor pro cli a pro web je samostatná)
- různé cache ve frameworcích/aplikacích používají absolutní cesty v filesystému, jako např. Nette, Wordpress. Možnost použít symlinky to trochu komplikuje
Lze provozovat i složitější řešení, přes např. apache vhost si odzkoušet, jestli vůbec nová verze funguje (alespoň, že lze načíst homepage) a poté prohodit s produkční verzí.
Po deseti letech jsem se ale dostal ke clusteru a každý web běží minimálně ve dvou instancí a deploy bez výpadků je tak jednodušší.