Contestaré (o responderé algo) a tu pregunta, pero primero me desviaré.
El desarrollo web es tan complejo en estos días. Aquí hay una lista no exhaustiva de los primeros pasos:
- Servidor web
- Servidor Db
- IDE
- Control de versiones
- Lenguaje de programación / scripting
- Dependencias
- Marco de fondo
- Marco frontend
- Preprocesadores CSS
- Minificadores
- Servidor de correo electrónico / Proveedor externo
Y eso es solo el comienzo, ¡e incluso eso está lejos de estar completo! Para hacer una analogía, después de hacer todo eso, todo lo que ha hecho es arrancar el motor de su automóvil: aún debe conducir hasta su destino.
- ¿Cuáles son los buenos campos de desarrollo web o software de aplicación?
- En LAMP, ¿cuáles son los beneficios y las desventajas de Foundation y Laravel vs. Bootstrap y Code Igniter?
- ¿Cuáles son los problemas comunes de escalabilidad con las aplicaciones de red / web?
- ¿Qué herramientas debo usar para el desarrollo de aplicaciones web?
- ¿Cuál será el mejor lenguaje de programación para utilizar para desarrollar una aplicación web para un servicio de entrega?
Como puede ver, hay muchos “puntos de interacción” en los que una pieza de software / programa tiene que interactuar con otra. Un ejemplo de la vida real: escribes código, te comprometes y luego lo empujas. Luego, extrae el último código en el servidor de prueba, donde puede probar las cosas que acaba de desarrollar.
Un flujo normal podría ser: escribir código, confirmar, enviar, iniciar sesión en el servidor de prueba, extraer código, probar
Un script bash podría simplemente tener un aspecto: escribir código, script bash, probar
Entonces, el script automatiza 4 pasos que habría tenido que hacer usted mismo. Tengo un pequeño script que hace exactamente esto. Tengo otro script que copia archivos a través de ssh a cualquier servidor al que tenga acceso. Es muy útil porque la otra alternativa sería usar SFTP o iniciar sesión en el servidor de destino y usar wget o algo similar.
Espero que veas que cuantos más puntos de interacción, más puedes automatizar cosas usando scripts de bash (u otros métodos).