¿Cómo puedo alertar a los desarrolladores que necesitan ejecutar ciertos commands después de que extraen mi confirmación (en control de versiones / git)?

Aquí hay un escenario común:

Estás trabajando en un proyecto (como, pero no necesariamente, una aplicación web) con otros desarrolladores.

  1. Decido que debemos usar cierta herramienta de fuente abierta y agregarla a las dependencies del proyecto. Por supuesto, lo agrego a nuestro administrador de packages, que está en control de fuente. o

  2. Tom se da count de que podemos acelerar las consultas de nuestra database agregando un índice y desnormalizando un poco de datos. Agrega una migration y la comtesting.

En cualquier escenario, cuando otros desarrolladores git pull o actualizan su entorno de desarrollo, es probable que las cosas se rompan a less que ejecuten npm install / bundle / cocoapods choqueueteygoodness / bower feathernest o python manage.py migrate / bundle exec rake migrate python manage.py migrate o lo que sea, y es no siempre es obvio que este es el caso. De hecho, es posible que el otro desarrollador no sea realmente un desarrollador, pero quizás un diseñador que esté embelleciendo el cheezus de nuestra UI.

Lo que realmente me gustaría es que cada otro desarrollador, luego de pull el compromiso en cuestión, vea algo como esto:

 Updated! Please note you MUST RUN this command before continuing. (Stop your server first, if applicable) $ ./magical_command_here --with-args 

Alternativamente, sería increíble si ejecutar el git status pudiera generar algo así como:

 On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean Migrations need to be run. Please execute `database_migration_command` 

¿Quién tiene soluciones para este problema?

Esto realmente no es una preocupación de VCS. Esto debe ser administrado en la construcción. La solución es include, como parte de la fuente, un script de construcción que se encargue de esto. Si agrega una dependencia que ya no está siendo resuelta por el script de compilation, actualice el script de compilation e inclúyalo en el compromiso. Los queueboradores deben saber ejecutar el script de compilation como parte del ciclo de desarrollo.

    Intereting Posts