Además de la respuesta de @ Simon.
No todo en la ingeniería de software se trata de programación, diseño o modelado. Hay una gran cantidad de tareas que realizamos continuamente durante la jornada laboral. Ya mencionaste uno: construir el proyecto fuera del IDE , pero hay muchos más.
Los desarrolladores experimentados / proactivos tienden a automatizar estas tareas. Algunos, incluso crean herramientas cuando estas tareas se vuelven parte del SDLC y son tediosas, y propensas a errores , que se pueden hacer a mano. Los programas son buenos para hacer trabajos repetitivos, no importa cuán tediosos sean. Nosotros - humanos , no somos tan buenos.
Estas herramientas / scripts tienen otros efectos secundarios positivos
- Productividad
- Transferencia de conocimiento
- Autonomía (para recién llegados)
Entonces, sí, los scripts deberían estar en SCM y deberían ser una herramienta más en la caja de herramientas del desarrollador.
En cuanto a la carpeta /scripts
, diría que no importa. Por simplicidad, los dejo en el directorio raíz del proyecto para que todas las rutas declaradas en los scripts sean relativas a la carpeta del proyecto. Si necesito acceso a carpetas o archivos externos, creo enlaces suaves .
Cosas a tener en cuenta antes de registrar los scripts en el SCM.
Por seguridad, asegúrese de que los scripts no tengan credenciales codificadas ( idealmente, los scripts deben estar bien parametrizados )
Asegúrese de que las secuencias de comandos no hagan cosas extrañas al sistema, como por ejemplo, para ejecutar comandos que no se pueden deshacer (lo más típico rm -rf
).
Dado que estos se convierten en parte de la fuente del proyecto, la documentación es muy apreciada.
Las secuencias de comandos no son ciencia espacial. Hacer guiones concisos. En lugar de uno para gobernarlos a todos ... y en la oscuridad átalos , haz más, más pequeño y conciso. Como si estuvieras aplicando SRP.