I personally prefer automated deployment scripts
this doesn’t stop you from getting into an invalid state that is hard to recover from. mutable system state will bitrot your system over time.
yes, by that I also include a way to discard everything and start over the only permanent thing in a service should be its data volumes