Back to articles
I maintained deployment bash scripts for 10 years. Then I rewrote everything in Go.
NewsDevOps

I maintained deployment bash scripts for 10 years. Then I rewrote everything in Go.

via Dev.to DevOpsMurry Jeong

Every company I worked at had The Script. You know the one. deploy.sh . 500 lines of bash. Written by someone who left 3 years ago. Nobody dares touch it, but everyone runs it in production every day. At one company, it was nsm — a 2,000-line monster managing 20+ services across Kafka clusters, Redis, MongoDB, Spring Boot microservices, and monitoring stacks. It worked. Until someone deployed a feature branch to production on a Friday evening. That's when we added branch checking. Then someone deployed two services simultaneously and half the servers got version A and the other half got version B. That's when we added deploy locking. Every feature in the script existed because something had broken in production. After 10 years and multiple companies, the pattern was always the same: Start with ssh server && git pull && restart Add packaging (tar.gz) Add rollback (symlinks) Add health checks (port/HTTP) Add config per environment Add parallel deployment End up with an unmaintainable bas

Continue reading on Dev.to DevOps

Opens in a new tab

Read Full Article
7 views

Related Articles