Automatisk cache busting i Symfony ~2.3

Tidigare skrev jag om hur man kan göra för att få klienter att automatisk ladda uppdaterad JavaScript och CSS när man gör en deploy i Symfony 2. Från och med version 2.3 har detta blivit mycket enklare eftersom man nu använder incenteev/composer-parameter-handler för att uppdatera parameters.yml efter att man gjort composer install eller update.

Där finns stöd för att använda en miljövariabel för att sätta ett värde på en parameter. Med följande i composer.json:

"extra": {
    "incenteev-parameters": {
        "file": "app/config/parameters.yml",
        "env-map": {
            "assets_version": "ASSETS_VERSION"
        }
    }
}

blir deploysteget istället:

rev=`git rev-parse HEAD | cut -c 1-8`

ASSETS_VERSION=$rev composer --no-dev --optimize-autoloader install