4 ms·
Nice, looks very similar to Capistrano, but sometimes it's nice to stick with PHP if you're already using it. The only problem I have with tools like this (and
by mikey_p 11y ago
Nice, looks very similar to Capistrano, but sometimes it's nice to stick with PHP if you're already using it.
The only problem I have with tools like this (and Capistrano) with most modern projects, is that there are usually a number of build steps related to getting production code in place, whether composer dependencies, or CSS/JS compilation, etc. With these tools, it's kinda hard to figure out how to implement this stuff, since they essentially just do a Git checkout on each server, and then run commands on each one. I kinda hate the idea of having tools to compile CSS/JS on each web server, and then each server running it's compilation separately. Has anyone come up with a clean way to separate these tasks from the task of deploying?
- leftnode 11y agoHave an intermediate build server like Jenkins or Bamboo that does all of that for you, packages everything up into a single deployable artifact (tarball, .deb, or RPM for example) and then deploy that out to each of your servers.
- mikey_p 11y agoThat's what I do for larger clients or projects, it's just a bummer, that smaller projects need that level of integration to follow best practices these days.
- junker101 11y agoWe just do all that compilation prior to check-in for release branch. Basically, version control holds the compiled 'snapshot' of a working app, and host specific variances in the code is forbidden. (composer is for project bootstrapping rather than a 'build step') -btw, we do this with subversion since git doesn't handle large repos well +empty directories.
- crasco 11y agoQuantify "git doesn't handle large repos". Large in discrete size or file count?