Which wasn't a bad thing after all. I've had more incidents with deployment pipelines than with the actual code.
Mostly because people forget that pipelines are code and need documentation, tests and software engineering practices just like any code.
Well, you're free to deploy like this (but you probably know why it's a very bad idea).
Feel free to explain why
Auditing what was changed and which version is currently in production is a bit harder than it has to be.
Yet another reason is FTP turned out to be inherently unsafe.
SFTP, however, has FTP feature parity and is secure as SSH (since it is ostensibly SSH).
Copying of multiple files is not atomic. You need to ensure a file with func1 exists before another file calling func1 gets copied. You can do it atomically by having 2 directories and swapping a symlink, but... that's a scriptable pipeline at that point.