¿Cómo resolver un bug en el Control Panel y subirlo a Github vía Pull Request?

¿Cómo resolver un bug en el Control Panel y subirlo a Github vía Pull Request?

En este tutorial vamos a describir el proceso a seguir para resolver un bug en el Control Panel de la versión open-source de la plataforma.

Los pasos son estos:

 

 

NOTA: Si lo prefieres, en lugar de montarte el entorno de desarrollo completo en la plataforma (paso 1 y 4) puedes seguir este tutorial ((Deployment) (ES) ¿Cómo desplegar onesait Cloud Platform en local con Docker y docker-compose?) para ejecutar los contenedores de las Bases de Datos de la plataforma en tu PC y usar tu propio Eclipse.

1.  Montar en mi equipo el Entorno de Desarrollo de la Plataforma

El entorno de desarrollo de la plataforma te ofrece todas las herramientas necesarias para desarrollar sobre la plataforma sin necesidad de instalarte nada. Incluye una JVM Java, un IDE Eclipse, Maven, una instancia de Mongo como RealTimeDB, una ConfigDB sobre MySQL, el cliente git,...

Si bien este paso no es obligatorio, simplifica mucho el proceso inicial de configuración por lo que recomendamos encarecidamente su uso.

Se ofrecen Entornos de Desarrollo para Linux y Windows. A continuación veremos cómo instalarlo el entorno para Windows:

  1. Descarga el Entorno para Windows desde aquí. El entorno se distribuye como un ZIP.

  2. Descomprime el ZIP en un directorio (recomendamos usar C:\OP_ENV\ o D:\OP_ENV) 





  3. Vete al directorio donde descomprimiste el ZIP y ejecuta start.bat (Desde línea de comando o haciendo doble clic sobre el archivo). Esto crea la unidad virtual S:

  4. (Si estás accediendo a Internet a través de un proxy):

    • Edita S:\scripts\setenv.bat y configura los valores del proxy en JAVA_OPTS con tu usuario y contraseña:



      set JAVA_OPTS=-Dhttps.proxyHost=proxy.indra.es -Dhttps.proxyPort=8080 -Dhttps.proxyUser=rbarrio -Dhttps.proxyPassword=<password>



  1.  

    • Abre S:\tools\maven\conf\settings.xml y edita la opción proxy (server, protocolo, username, password):

<proxy> <id>proxy</id> <active>true</active> <protocol>http</protocol> <username>rbarrio</username> <password>XXX</password> <host>proxy.indra.es</host> <port>8080</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy>



2. Fork del repo de plataforma

  1. La forma más sencilla de hacer un fork de la paltaforma es logarte en https://github.com con tu usuario. 

  2. Una vez dentro, busca el repo onesaitplatform-cloud:

3. Desde ahí selecciona el botón Fork:

Una vez hecho esto, si navegas a tu perfil, verás el fork del repositorio: 

3.Clone de tu Repositorio en el Entorno de Desarrollo

Una vez has hecho un fork del repositorio a tu usuario github, puedes clonar este repo en local. Para esto, usa el Entorno de Desarrollo que instalaste en el Paso 1.

  1. Si tienes la unidad S: creada, lanza S:\start.bat. Si no, ve al directorio donde descomprimiste el entorno (p.ej. C:\OP_ENV\) y ejecuta start.bat. Esto abrirá una línea de comandos apuntando a S:

  2. Ve a S:\sources y ejecuta:



    git clone https://github.com/<your_github_name>/onesaitplatform-cloud cd onesaitplatform-cloud git remote add upstream https://github.com/onesaitplatform/onesaitplatform-cloud.git

    Ahora tu upstream apunta a onesaitplatform/onesaitplatform-cloud.

  3. En el ejemplo, queremos resolver un bug existente en el Control Panel de la plataforma sobre la rama master (en otros escenarios podría interesarte hacerlo sobre una release concreta).



4. Inicializar la plataforma en tu PC

Antes de comenzar a resolver el bug detectado, debes inicializar la plataforma en local, esto es, ejecutar los módulos base que vayas a necesitar y cargar los datos maestros. Para esto:

  1. Empieza por compilar la plataforma. Para eso, desde el directorio donde tienes descargado el código fuente, ve a la carpeta sources (si has seguido la estructura recomendada deberías tenerlo en la ruta: S:\sources\onesaitplatform-cloud\sources)y ejecuta:

    mvn.cmd -Dmaven.test.skip=true clean install



  2. Una vez compilado el código, lanza la ConfigDB de la Plataforma. Por defecto se usa una instancia de MySQL incluida en el entorno de desarrollo. Ejecuta el archivo S:\scripts\ConfigDB_start.bat.

  1. Para comprobar que la ConfigDB está arrancada, lanza un cliente con el comando S:\scripts\ConfigDB_browser.bat (con server host localhost, port 3306, username root y password changeIt!)



y crea el esquema onesaitplatform_config:



4. Después de esto, lanza la RealTimeDB, que en la implementación de referencia de la plataforma es MongoDB. Para eso ejecuta el comando s:\scripts\RTDB_start.bat

5. Lo siguiente es inicializar las tablas y los datos maestros de los repositorios de la plataforma (ConfigDB y RealTimeDB). Para eso, primero ejecuta el script setenv.bat que se encuentra en la ruta  S:\scripts:

Después desde la ruta S:\sources\onesaitplatform-cloud\sources\modules\config-init ejecuta el comando:

mvn spring-boot:run



Si todo está OK, puedes ver que en la ConfigDB se han creado las tablas y datos: