Diferencia entre revisiones de «Frontend y visualización de resultados 1617»

De Wiki de EGC
Saltar a: navegación, buscar
(Integración continua)
(Integración continua)
Línea 62: Línea 62:
 
* Fase stable. Esta fase se ejecuta manualmente por el administración del Jenkins. Se diferencia de la fase beta en la estabilidad, algo necesario para la interacción por parte de los otros subsistemas con él. El código ejecutado en esta fase debe ser el mismo que el de la fase beta para corroborar su estabilidad antes de ejecutar este despliegue.
 
* Fase stable. Esta fase se ejecuta manualmente por el administración del Jenkins. Se diferencia de la fase beta en la estabilidad, algo necesario para la interacción por parte de los otros subsistemas con él. El código ejecutado en esta fase debe ser el mismo que el de la fase beta para corroborar su estabilidad antes de ejecutar este despliegue.
 
   https://frontend.agoraus1.egc.duckdns.org/
 
   https://frontend.agoraus1.egc.duckdns.org/
 +
  
 
Para la configurar Jenkins, nos hace falta utilizar un docker con la configuración de nuestro proyecto. Para eso, se ha utilizado la imagen: https://hub.docker.com/r/anapsix/nodejs/ ya que incluye todo lo que nos hace falta: nodeJS y sus comandos iniciales: _npm install_ y _npm start_. Los comandos para ejercutar en local el código son:
 
Para la configurar Jenkins, nos hace falta utilizar un docker con la configuración de nuestro proyecto. Para eso, se ha utilizado la imagen: https://hub.docker.com/r/anapsix/nodejs/ ya que incluye todo lo que nos hace falta: nodeJS y sus comandos iniciales: _npm install_ y _npm start_. Los comandos para ejercutar en local el código son:
  
 
git clone https://github.com/AgoraUS-G1-1617/Frontend.git
 
git clone https://github.com/AgoraUS-G1-1617/Frontend.git
 +
 
git pull --all
 
git pull --all
 +
  
 
sudo apt-get install docker.io
 
sudo apt-get install docker.io
 +
 
sudo docker pull anapsix/nodejs
 
sudo docker pull anapsix/nodejs
 +
 
sudo docker run -ti --expose=8080 -p 8081:8080 -v /home/usuario/Frontend/:/app/ -w /app anapsix/nodejs
 
sudo docker run -ti --expose=8080 -p 8081:8080 -v /home/usuario/Frontend/:/app/ -w /app anapsix/nodejs
  

Revisión del 10:33 1 dic 2016

Aspectos organizativos

Miembros

  • José Renato Ramos González: Project Manager
  • José Gavilán Ruiz: Software Developer
  • Eva Menendez Montes: Software Developer
  • Andrés Miguel Jiménez Ríos: Software Developer
  • Andrés Doncel Ramírez: Software Developer

Actas

Gestión de código

Se trabajará en una rama "dev". Los cambios en local se harán en una copia de esta rama

Cada versión se etiquetará como vX.Y.Z, siendo X la versión mayor, Y la menor, y Z la revisión. Las versiones candidatas se marcarán con "c" (de candidate) tras la versión.

Solo cuando la funcionalidad de una versión candidata esté probada por al menos dos desarrolladores en "dev" se juntará con la rama "master", marcando esa versión como "r" (de release).

Gestión de incidencias

Se usarán las Issues de Github, donde se describirá el problema con la mayor exactitud posible, incluyendo:

  • Descripción
  • Pasos a ejecutar
  • Resultado esperado
  • Resultado obtenido

Se espera compromiso por parte de los desarrolladores para que resuelvan activamente las incidencias surgidas. Cuando un desarrollador quiera resolver un issue, puede auto asignárselo. Si hay issues con más de una semana sin resolver, el project manager puede asignar a un desarrollador para que resuleva la incidencia.

Cuando una incidencia está resuelta, se debe indicar en el issue correspondiente. Es deseable hacer una referencia al commit que resuelve la incidencia, aunque no necesario. Una vez resuelta la incidencia, esta puede cerrarse.

Tipos de incidencias

  • example: para ejemplos de cómo resolver incidencias
  • bug: para informar de un error en el funcionamiento del código
  • enhancement: para proponer una nueva funcionalidad
  • help wanted y question: para dudas sobre el funcionamiento en general

Prioridad y estado de incidencias

A continuación, tenemos el asunto de las prioridades. Hay tres etiquetas de alta, media y baja prioridad. La actual es de alta prioridad.

Esto se complementa con las etiquetas de duplicate, invalid y wontfix, que indican, explicación previa, que la incidencia no es válida y no se va a resolver. Se procederá a cerrar la incidencia inmediatamente.

Por último, el estado de la incidencia se marca con solo dos etiquetas:

  • started: indica que se ha tenido en cuenta la incidencia y se está trabajando para resolverla
  • fixed: indica que la incidencia ha sido resuelta y verificada. Se espera confirmación del usuario que indicó la incidencia para que compruebe que realmente el problema está resuelto.

Si es así, se puede cerrar la incidencia.

En caso contrario, se debe volver a marcar la etiqueta started.

Como es natural. NO se puede cerrar un issue que esté en estado started, sino que debe pasar a fixed, duplicate, invalid o wontfix (siempre con explicación previa) antes de poder cerrarse.

Integración continua

La idea es tener un sistema de despliegue e integración continua durante el desarrollo de los proyectos con el fin de facilitar tanto el desarrollo como la integración de los subsistemas. Para ello se ha pensado que dicha integración constará de 3 partes:

  • Fase make. En esta fase se descarga el código tras una modificación y se prepara para ser lanzado. En ocasiones podrían ejecutarse test para comprobar su integridad antes del despliegue. En nuestro caso, no se hace nada.
 https://jenkins.egc.duckdns.org/
  • Fase beta. Esta fase se ejecuta automáticamente tras la finalización de la fase make. Se elimina la aplicación ya desplegada y se lanza la compilada en la fase make.
 https://beta.frontend.agoraus1.egc.duckdns.org/
  • Fase stable. Esta fase se ejecuta manualmente por el administración del Jenkins. Se diferencia de la fase beta en la estabilidad, algo necesario para la interacción por parte de los otros subsistemas con él. El código ejecutado en esta fase debe ser el mismo que el de la fase beta para corroborar su estabilidad antes de ejecutar este despliegue.
 https://frontend.agoraus1.egc.duckdns.org/


Para la configurar Jenkins, nos hace falta utilizar un docker con la configuración de nuestro proyecto. Para eso, se ha utilizado la imagen: https://hub.docker.com/r/anapsix/nodejs/ ya que incluye todo lo que nos hace falta: nodeJS y sus comandos iniciales: _npm install_ y _npm start_. Los comandos para ejercutar en local el código son:

git clone https://github.com/AgoraUS-G1-1617/Frontend.git

git pull --all


sudo apt-get install docker.io

sudo docker pull anapsix/nodejs

sudo docker run -ti --expose=8080 -p 8081:8080 -v /home/usuario/Frontend/:/app/ -w /app anapsix/nodejs

Repositorio de código

https://github.com/AgoraUS-G1-1617/Frontend


Subsistemas relacionados