5 ms·
> At one company I worked at, we had a system where each deploy got its own folder, and we'd update a symlink to point to the active one. It worked, but it was
by notatallshaw 9mo ago
> At one company I worked at, we had a system where each deploy got its own folder, and we'd update a symlink to point to the active one. It worked, but it was all manual, all custom, and all fragile.
The first time I saw this I thought it was one of the most elegant solutions I'd ever seen working in technology. Safe to deploy the files, atomic switch over per machine, and trivial to rollback.
It may have been manual, but I'd worked with a deployment processes that involved manually copying files to dozens of boxes and following 10 to 20 step process of manual commands on each box. Even when I first got to use automated deployment tooling in the company I worked at it was fragile, opaque and a configuration nightmare, built primarily for OS installation of new servers and being forced to work with applications.
- toast0 9mo ago> It may have been manual It's pretty easy to automate a system that pushes directories and changes symlinks. I've used and built automation around the basic pattern.
- shimms 9mo agoIt’s been a while (a decade?!) but if I recall correctly Capistrano did this for rails deployments too, didn’t it?
- AznHisoka 9mo agoI am now feeling old for using Capistrano even today. I think there might be “cooler and newer” ways to deploy, but i never ever felt the need to learn what those ways are since Capistrano gets the job done.
- copperx 9mo agoI remember using mina and it was much faster than Capistrano. Sadly, it seems it's now unmaintained.
- thunderbong 9mo agoNot just rails. Capistrano is tech stack agnostic. It's possible to deploy a project with nodejs using Capistrano. And yes, it's truly elegant. Rollbacks become trivial should you need it.
- hdjrudni 9mo agoI did this, but I used rsync, and you can tell rsync to use the previous ver as the basis so it wouldn't even need to upload everything all over again. Super duper quick to deploy. I put that in a little bash script so.. I don't know if you call anything that isn't CI "manual" but I don't think it'd be hard to work into some pipeline either. I kind of miss it honestly.