Usando Github como fuente de actualización

Estoy desarrollando un software para Raspberry Pi. Como será un sistema mobile, pensé en usar Github como repository para get actualizaciones. No tiene que ser Github en realidad, pero cualquier repository de git está bien. La pregunta es si el siguiente flujo funciona o no.

1) Cuando hay una actualización, publico en el tema de actualización en MQTT.
2) Los suscriptores reciben el post y ejecutan un command en todo el sistema:
git pull
download new dependencies if there is any
run makefile
restart the application
3) El sistema actualizado publica un post con el nuevo número de versión.

La security del repository se logrará con las keys ssh y el repository será definitivamente privado. La pérdida de datos mientras se reinicia la aplicación es insignificante.

No planeo usar ningún marco de actualización ya que este flujo parece que es más fácil de codificar que configurar un marco adicional.

¿Me falta algún punto key en este flujo?

Una list de cosas a considerar:

  1. ¿Cómo garantizará el acceso al agente de MQTT?
  2. ¿Qué sucede si la connection de networking cae a la mitad de la actualización?
  3. ¿Cuál es la estrategia de reversión para cuando publica una actualización interrumpida? (lo harás en algún momento)
  4. ¿Cómo se escalonarán las actualizaciones para evitar la realización de su informe y para garantizar la calidad de las actualizaciones a medida que se empujan?
  5. ¿Por qué crees que puedes hacer un mejor trabajo que cualquiera de los frameworks existentes?
  6. En lugar de rodar su propia solución, ¿ha analizado alguna de las soluciones ya disponibles, por ejemplo, http://resin.io/
    Intereting Posts