A deploy script without it continues after a failed command, so a failed composer install is followed by a successful symlink swap and a broken site reported as…
Apache, Nginx, PHP, MySQL, Redis, Beanstalkd and a mail catcher, on a laptop. Onboarding measured in minutes rather than days, and what it costs to run.
Deploying by pulling into the live directory means the site is briefly running half of one release and half of another, and rolling back means pulling again and…
A full analysis on a large codebase takes long enough that nobody runs it before committing, so every finding arrives from CI after the context has been lost.…
A PHP deploy ships source and hopes the target has the right runtime and extensions. dotnet publish produces a directory whose contents are the application, and it can…
Lint failures arriving from CI ten minutes after a push are a context switch for something a machine could have fixed automatically before the commit existed. Running only…
Total coverage moves so slowly that it tells you nothing about the change in front of you, and the question a reviewer wants answered is whether the new…
Wanting the mail catcher and phpMyAdmin locally but not in CI, without maintaining two full compose files, is the problem profiles eventually solve. In 2018 the answer is…