franyack / IMachineApp

This Android application uses the CIEngine module to automatically manage the photos and images on the device. Then you will be able to manage the result according to your criteria, by moving or erasing images as you want.
1 stars 0 forks source link

Crear Dockerfile para facilitar despliegue de la app #11

Open leferrad opened 6 years ago

leferrad commented 6 years ago

En este momento hay dependencias (quizás algunas en un futuro innecesarias, como OpenCV) que complican el despliegue de la app en distintos OS. Entonces conviene normalizar esta forma de desarrollo mediante un entorno común hecho en Docker, con lo cual también se documentaría todo lo necesario para buildear la app desde 0.

leferrad commented 6 years ago

Ya estoy trabajando en eso, ya que no pude volver a ejecutar mi app por unos cambios relativos a opencv en mi PC. Por ahora, parto de este Dockerfile: https://github.com/kelvinlawson/dockerfile-android-studio/blob/master/Dockerfile

franyack commented 6 years ago

En esto Lea vamos a tener que trabajar juntos e ir probando, porque de Docker se poco y nada, solo esas pruebas que te mostré en aquella oportunidad! Viendo ese repo que compartiste, si no entiendo mal está descargando Android Studio 2.3.3 y yo estoy usando la versión 3.0.1 (no sé si influirá en algo). Quizás convenga un día verlo entre los 2 afín de conseguir documentar e integrar todo lo necesario para que la app pueda buildear desde 0

leferrad commented 6 years ago

Sii es cierto eso, pero es sólo cuestión de cambiar el link de descarga: https://dl.google.com/dl/android/studio/ide-zips/3.1.2.0/android-studio-ide-173.4720617-linux.zip. También estuve viendo este otro repo, al cual recientemente resolvieron un issue q tenía así que tmb puedo ir probando: https://github.com/Deadolus/android-studio-docker/issues/1. La idea sería que el Dockerfile resuelva todas las dependencias del sistema (app + motor), y que tenga dos formas de acceso: una levantando el IDE (Android Studio, q tmb sirve para el código en Java) y otra para entrar en modo bash y ejecutar comandos en terminal. Dado que esto no es tan prioritario como el resto de la integración, dejame que yo lo avanzo y luego nos juntamos a q te explique como se me ocurrió hacerlo y lo terminamos juntos. El valor de esto es que nos resuelve el despliegue en casi forma completa, y nos acerca bastante a un proceso de integración continua como queríamos.