Moje konfigurace Composer na produkčním serveru

Dnes se mi stala nepřijemná situace. Composer na serveru si myslel, že jsem modifikoval jednu knihovnu ve složce „/vendor“. Fakt ne ;-) A nedokazal sám nahrát poslední verzi dané knihovny.

Při práci v konzoli, by se composer zeptal, zdali má soubory smazat:

.

To je sice pěkné, ale já composer spouštím automaticky po pushi do produkční větve v git repozitáři. Takže to vypadalo asi takhle:

.

A teď babo raď. Naštěstí máme vševjedoucí StackOverflow

composer.json & composer

Do composer.json musíte přidat sekci

...
"config": {
    "discard-changes": true
},
...

a příkaz na serveru spoustit s --no-interaction.

Výsledný příkaz je pak:

composer install --no-dev --no-interaction --optimize-autoloader
  • NEinstaluj „require-dev“ závislosti
  • NEbudu interagovat na konzoli
  • Optimalizuj

PS: U toho --optimize-autoloader je psáno, že může být pomalý… jak realné to je? Máte někdo zkušenost?

PS2: Pokud máte nějaké své tipy, podělte se v komentářích


composer deployment