Cómo usar github y ec2 juntos para implementar una aplicación de Python

Actualmente estoy usando github para desarrollar una aplicación de Python y estoy buscando implementarlo en EC2.

¿Hay una buena manera de manejar automáticamente el desorder que esto implica (configurar pares de keys SSH en la instancia EC2 para github, extraer desde el repository github cada vez que se envía una confirmación a la twig principal, etc.) sin un montón de scripts personalizados ? Alternativamente, ¿hay algún proyecto de código abierto que se haya centrado en esto?

Escribí un script de python simple para hacer esto una vez. También publiqué sobre esto en mi blog.

Configura las asignaciones de sus repositorys y brances para que apunten a las carpetas locales que ya contienen un checkout de ese repository y sucursal. Luego, habilita los ganchos posteriores a la recepción de GitHub para acceder a la secuencia de commands, que activará automáticamente un git pull en la carpeta adecuada.