{"id":12512,"date":"2022-09-30T15:01:45","date_gmt":"2022-09-30T21:01:45","guid":{"rendered":"http:\/\/201.237.206.56\/Sitios\/ugit.siua.ac.cr\/?p=12512"},"modified":"2022-09-30T15:47:46","modified_gmt":"2022-09-30T21:47:46","slug":"cgi-utilizacion-de-git-y-flujo-de-trabajo-en-sigesa","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=12512","title":{"rendered":"CGI: Utilizaci\u00f3n de Git y flujo de trabajo en SIGESA"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"Que-es-Git\">Que es Git<\/h1>\n\n\n\n<p>Git es un software de control de versiones, cuyo prop\u00f3sito es llevar el registro e hist\u00f3rico de los cambios en archivos y coordinar el trabajo que varias personas realizan sobre archivos compartidos.\u00a0<\/p>\n\n\n\n<p>Una de las grandes caracter\u00edsticas que posee Git contra otras tecnolog\u00edas de control de versiones, tal como Subversion, es que este no solo cuenta con un <strong>repositorio central (remoto)<\/strong>. Cada usuario que desee trabajar con Git deber\u00e1 <strong>clonar<\/strong> un repositorio en su m\u00e1quina de trabajo (<strong>repositorio local<\/strong>). Sobre este repositorio local, es donde el usuario trabajar\u00e1 y realizar\u00e1 los cambios. A su vez, este ser\u00e1 el sitio desde donde el usuario sincronizar\u00e1 los cambios hacia el repositorio central y viceversa (subir y bajar cambios).<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"Conceptos-b\u00e1sicos-de-Git\">Conceptos b\u00e1sicos de Git<\/h1>\n\n\n\n<p>Git maneja el t\u00e9rmino de <strong>ramas<\/strong>, para referirse a peque\u00f1as bifurcaciones del c\u00f3digo fuente central para la realizaci\u00f3n, modificaci\u00f3n, correcci\u00f3n o eliminaci\u00f3n del mismo. Por lo general existen dos tipos de ramas principales o permanentes (<strong>master<\/strong> y <strong>develop<\/strong>) y 3 tipos de ramas secundarias o temporales (<strong>feature<\/strong>, <strong>hotfix<\/strong>, <strong>bugfix<\/strong>, <strong>release<\/strong>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Master\">Master<\/h2>\n\n\n\n<p>Esta es la rama principal del repositorio, es una rama <strong>permanente<\/strong>, y en ella est\u00e1n todas las liberaciones o versiones a producci\u00f3n, es decir, cuando esta rama sufre alguna modificaci\u00f3n de c\u00f3digo fuente, se generar\u00e1 una nueva versi\u00f3n para ser lanzada a producci\u00f3n.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Uso<\/strong>: Es donde est\u00e1 el c\u00f3digo fuente final (cada versi\u00f3n liberada). No se trabaja directamente en la rama <strong>master<\/strong>, sino que ella es modificada a trav\u00e9s de las ramas <strong>develop<\/strong>, <strong>release<\/strong> y <strong>hotfix<\/strong>, mediante un <strong>merge<\/strong> (Pull Request). Esta rama tiene s\u00f3lo las versiones liberadas, queda muy limpia y con muy pocos commits en ella.<\/li><li><strong>Nomenclatura<\/strong>: master.<\/li><li><strong>Se crea<\/strong>: Al crear el repositorio, es la rama principal.<\/li><li><strong>Finaliza<\/strong>: Nunca, junto a <strong>develop<\/strong> es una de las dos ramas permanentes.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Develop\">Develop<\/h2>\n\n\n\n<p>Esta es la rama principal del desarrollo, es una rama <strong>permanente<\/strong>, y en ella se encontrar\u00e1n todos los cambios, correcciones, mejoras y dem\u00e1s que sufra el c\u00f3digo fuente, a trav\u00e9s de la labor desarrollada por los desarrolladores.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Uso<\/strong>: Es en donde est\u00e1 cada commit realizado. No se trabaja directamente en la rama <strong>develop<\/strong>, sino que ella es modificada a trav\u00e9s de las ramas <strong>feature<\/strong>, <strong>release<\/strong> y <strong>hotfix<\/strong> mediante un merge(Pull Request).<\/li><li><strong>Nomenclatura<\/strong>: develop.<\/li><li><strong>Se crea:<\/strong> Desde <strong>master<\/strong>, al crear el repositorio.<\/li><li><strong>Finaliza<\/strong>: Nunca, junto a <strong>master<\/strong> es una de las dos ramas permanentes.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Feature\">Feature<\/h2>\n\n\n\n<p>Esta es una rama <strong>temporal<\/strong> de desarrollo, en ella se realizan directamente las correcciones, modificaciones y dem\u00e1s sobre el c\u00f3digo fuente.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Uso<\/strong>: Es donde se realizan las modificaciones del c\u00f3digo fuente, por tanto, es el tipo de rama m\u00e1s creada en el ciclo de vida del repositorio, por lo general, por cada caso reportado en el <strong>Jira<\/strong>, se crear\u00e1 una rama de este tipo.<\/li><li><strong>Nomenclatura<\/strong>: feature\/XXX, donde XXX es el n\u00famero del caso reportado en el <strong>Jira<\/strong>. Por ejemplo feature\/RHU-001.<\/li><li><strong>Se crea<\/strong>: Desde <strong>develop<\/strong>, por lo general por cada caso reportado en el <strong>Jira<\/strong>.<\/li><li><strong>Finaliza<\/strong>: Cuando se comprueba que la modificaci\u00f3n del c\u00f3digo es correcta.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Hotfix\">Hotfix<\/h2>\n\n\n\n<p>Esta es una rama <strong>temporal<\/strong> para correcci\u00f3n urgente de errores encontrados en producci\u00f3n.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Uso<\/strong>: Para la correcci\u00f3n de alg\u00fan problema urgente en el c\u00f3digo en producci\u00f3n.<\/li><li><strong>Nomenclatura<\/strong>: hotfix\/XXX, donde XXX es el n\u00famero de caso urgente del <strong>Jira<\/strong>.<\/li><li><strong>Se crea:<\/strong> De master (<strong>es la \u00fanica rama, aparte de develop, que se crea y regresa a master<\/strong>).<\/li><li><strong>Finaliza<\/strong>: Cuando se comprueba que la correcci\u00f3n del c\u00f3digo es correcta. Debe hacerse un <strong>merge<\/strong> hacia develop y hacia master. Una vez hecho el merge hacia master, se debe poner un tag indicando la versi\u00f3n (El tag es opcional).<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Release\">Release<\/h2>\n\n\n\n<p>Esta es una rama <strong>temporal<\/strong> para pruebas, en ella se realizan las pruebas de la siguiente versi\u00f3n previo a la salida a producci\u00f3n.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Uso<\/strong>: Es donde se realizan las pruebas, cada vez que se quiera sacar una versi\u00f3n del c\u00f3digo a producci\u00f3n.<\/li><li><strong>Nomenclatura<\/strong>: release\/XXX, donde XXX es el n\u00famero de versi\u00f3n a liberar. En ella se realizar\u00e1n todas las pruebas de c\u00f3digo a ser liberado.<\/li><li><strong>Se crea:<\/strong> Desde <strong>develop<\/strong>, cuando se desea realizar una liberaci\u00f3n.<\/li><li><strong>Finaliza<\/strong>: Cuando la versi\u00f3n est\u00e1 preparada para liberarse. Debe hacerse un <strong>merge<\/strong> hacia develop y hacia <strong>master<\/strong>. Si la versi\u00f3n ha salido a la primera bien, no tendr\u00e1 ning\u00fan cambio que llevar hacia develop. Una vez hecho el merge hacia master, se debe poner un tag indicando la versi\u00f3n (El tag es opcional).<\/li><\/ol>\n\n\n\n<p><strong>Nota<\/strong>: Por la naturaleza del proyecto y estructura de los equipos de trabajo, este tipo de rama no es utilizada en el sistema SIGESA, por lo que cada subgrupo de desarrollo crea otro tipo de rama <strong>temporal<\/strong>, a la cual le aplica los cambios propios para la realizaci\u00f3n de pruebas, por ejemplo (<strong>develop-rrhh, develop-ppi, develop-pbs, develop-epf\u2026<\/strong>).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Bugfix\">Bugfix<\/h2>\n\n\n\n<p>Esta es una rama <strong>temporal<\/strong> para la correcci\u00f3n o cambios en las ramas <strong>release<\/strong>.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Uso<\/strong>: Es donde se realizan las correcciones de la rama de pruebas <strong>release<\/strong>.<\/li><li><strong>Nomenclatura<\/strong>: bugfix\/XXX, donde XXX es el n\u00famero o descripci\u00f3n de la correcci\u00f3n.<\/li><li><strong>Se crea:<\/strong> Desde <strong>release<\/strong>, cuando se desea realizar una correcci\u00f3n<\/li><li><strong>Finaliza<\/strong>: Cuando se comprueba que la correcci\u00f3n del c\u00f3digo es correcta. Debe hacerse un merge hacia release.<\/li><\/ol>\n\n\n\n<p><strong>Nota<\/strong>: Por la naturaleza del proyecto y estructura de los equipos de trabajo, este tipo de rama no es utilizada en el sistema SIGESA.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"476\" src=\"\/wp-content\/uploads\/2022\/09\/image-1024x476.webp\" alt=\"\" class=\"wp-image-12513\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/image-1024x476.webp 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/image-300x139.webp 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/image-768x357.webp 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/image.webp 1267w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"Conceptos-b\u00e1sicos-de-Bitbucket\">Conceptos b\u00e1sicos de Bitbucket<\/h1>\n\n\n\n<p>Bitbucket es una herramienta de colaboraci\u00f3n basada en Git, para la creaci\u00f3n de repositorios y alojamiento de c\u00f3digo fuente. Mediante Bitbucket se puede realizar la planificaci\u00f3n y trazabilidad de un proyecto, as\u00ed como la colaboraci\u00f3n y desarrollo por parte del equipo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Proyectos-y-Repositorios\">Proyectos y Repositorios<\/h2>\n\n\n\n<p>Bitbucket puede gestionar diversos proyectos, lo cuales a su vez abarcan uno o varios repositorios de c\u00f3digo fuente, mediante los cuales, para cada uno, se crea una estructura de trabajo similar a la expuesta en la imagen anterior.<\/p>\n\n\n\n<p>Cabe mencionar que tanto los proyectos, repositorios y ramas poseen una configuraci\u00f3n de accesos y permisos por usuarios o grupos del sistema.<\/p>\n\n\n\n<p>Para SIGESA, existe tanto un proyecto como un repositorio con dicho nombre, el cual contiene la configuraci\u00f3n, informaci\u00f3n del c\u00f3digo fuente y la estructura de ramas correspondiente.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Permisos-sobre-repositorio-y-ramas\">Permisos sobre repositorio y ramas<\/h2>\n\n\n\n<p>A nivel de configuraci\u00f3n, en un proyecto se puede crear una serie de restricciones o accesos a diversos elementos tales como los repositorios y ramas. SIGESA cuenta con dos tipos de configuraci\u00f3n de permisos a nivel de repositorio y ramas.<\/p>\n\n\n\n<p>A nivel de repositorio se establece el permiso de lectura o escritura tanto a usuarios como a grupos. En SIGESA todos los grupos mencionados con anterioridad poseen permisos de lectura y escritura en el repositorio, con lo cual cada integrante de cada grupo tendr\u00e1 acceso al repositorio, as\u00ed como a la creaci\u00f3n y modificaci\u00f3n de ramas, seg\u00fan su rol.<\/p>\n\n\n\n<p>A nivel de rama se definen, de manera similar, permisos que van orientados a las restricciones. Es decir, todos los usuarios podr\u00e1n realizar cualquier manipulaci\u00f3n de ramas, salvo que se cree una restricci\u00f3n que establezca lo contrario.<\/p>\n\n\n\n<p>En SIGESA las restricciones a nivel de rama son las siguientes, tanto para la rama <strong>master<\/strong> como para la rama <strong>develop<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Nadie podr\u00e1 sobrescribir la historia de la rama.<\/li><li>Nadie podr\u00e1 eliminar la rama.<\/li><li>Nadie podr\u00e1 realizar cambios a la rama directamente.<\/li><li>Nadie podr\u00e1 hace modificaci\u00f3n a trav\u00e9s de un pull request, excepto los usuario del grupo <strong>COODINACION-SIGESA.<\/strong><\/li><\/ul>\n\n\n\n<p>Con lo anterior, se ha configurado en el repositorio que \u00fanicamente los usuarios del grupo COODINACION-SIGESA podr\u00e1n realizar las integraciones de c\u00f3digo a develop y a master para posteriormente generar una nueva versi\u00f3n del sistema para producci\u00f3n.<\/p>\n\n\n\n<p>NETBEANS<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"Flujo-de-trabajo-en-SIGESA\">Flujo de trabajo en SIGESA<\/h1>\n\n\n\n<p>A continuaci\u00f3n se detalla el flujo de trabajo para el desarrollo en SIGESA, el cual abarca la creaci\u00f3n del caso o incidencia, la generaci\u00f3n de ramas desde el repositorio central, la fusi\u00f3n o integraci\u00f3n de cambios, la compilaci\u00f3n y despliegue de una nueva versi\u00f3n a producci\u00f3n.<\/p>\n\n\n\n<p>Es importante mencionar la utilizaci\u00f3n de 3 herramientas principales en este ciclo de desarrollo, las cuales, ayudan a la gesti\u00f3n de c\u00f3digo, organizaci\u00f3n y planificaci\u00f3n en equipos y control y creaci\u00f3n de versiones y despliegues en producci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"953\" height=\"300\" src=\"\/wp-content\/uploads\/2022\/09\/9c49118a-e89f-4bd3-a1d9-d25ddb28b85b.png\" alt=\"\" class=\"wp-image-12516\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9c49118a-e89f-4bd3-a1d9-d25ddb28b85b.png 953w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9c49118a-e89f-4bd3-a1d9-d25ddb28b85b-300x94.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9c49118a-e89f-4bd3-a1d9-d25ddb28b85b-768x242.png 768w\" sizes=\"(max-width: 953px) 100vw, 953px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Jira\"><strong>Jira<\/strong><\/h2>\n\n\n\n<p>Esta herramienta provee funcionalidades para la gesti\u00f3n de equipos de trabajo, mediante la utilizaci\u00f3n de tableros tipo kanban. En ella se lleva el control de las tareas a realizar dentro del sistema, as\u00ed como la planificaci\u00f3n de las mismas, utilizando una metodolog\u00eda de desarrollo basada en Scrum.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Bitbucket\"><strong>Bitbucket<\/strong><\/h2>\n\n\n\n<p>Esta herramienta, como se mencion\u00f3 en secciones anteriores, provee una infraestructura para el manejo de repositorios de c\u00f3digo fuente colaborativo, mediante la cual se generan ramas de trabajo para el desarrollo de casos dentro de la aplicaci\u00f3n. Adem\u00e1s, crea un hist\u00f3rico de modificaciones sufridas por el c\u00f3digo de la aplicaci\u00f3n, lo cual se le puede dar trasabilidad a versiones anteriores del sistema.<\/p>\n\n\n\n<p>Desde esta herramienta se deciden que caracter\u00edsticas nuevas, modificaciones o correcciones se implementaran en la nueva versi\u00f3n a liberar en producci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Bamboo\"><strong>Bamboo<\/strong><\/h2>\n\n\n\n<p>Esta herramienta es la encargada de generar y verificar la correcta compilaci\u00f3n o creaci\u00f3n de la aplicaci\u00f3n una vez se apliquen cambios a las ramas deseadas (en este caso <strong>master<\/strong>), adem\u00e1s, provee una interfaz, mediante la cual se realiza de manera autom\u00e1tica la subida de esa compilaci\u00f3n al servidor de producci\u00f3n, por lo que nos garantiza que la versi\u00f3n subida a producci\u00f3n, fue una generada de manera correcta y sin errores de compilaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Equipo-de-Scrum\"><strong>Equipo de Scrum<\/strong><\/h2>\n\n\n\n<p>El proceso realizado para la creaci\u00f3n, actualizaci\u00f3n o correcci\u00f3n de alguna caracter\u00edstica en el sistema a nivel de c\u00f3digo fuente inicia desde el Jira, cada uno de los equipos conformados cuenta con uno o varios tableros o pizarras asignadas, en donde previamente se han registrado los casos o solicitudes de cambios en el sistema. Existe toda una metodolog\u00eda basada en <strong>Scrum<\/strong> para la creaci\u00f3n, priorizaci\u00f3n y selecci\u00f3n de tareas que ser\u00e1n atendidas por cada uno de los equipos de desarrollo, en un ciclo de trabajo (<strong>sprint<\/strong>).<\/p>\n\n\n\n<p>En la metodolog\u00eda Scrum se cuenta con diversos actores o roles, los cuales tienen asignadas diversas responsabilidades en el equipo, estos actores son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Product Owner<\/strong>: Es el representante de los clientes del producto (los que utilizan el software), este se focaliza en la parte del negocio y es el responsable del retorno de la inversi\u00f3n del proyecto. Debe ser capaz de trasladar la vision del proyecto al equipo, formalizar los casos a desarrollar (historias) e incluirlos en la pila de trabajo del equipo.<\/li><li><strong>Scrum master<\/strong>: Es la persona encargada de liderar el equipo, acompa\u00f1\u00e1ndolo y gui\u00e1ndolo para que se cumplan las reglas y procesos de la metodolog\u00eda. Adem\u00e1s, debe colaborar con el equipo para reducir y eliminar los posibles impedimentos que pueden afectar la entrega del producto, tambi\u00e9n se encarga de las labores de tutor\u00eda, formaci\u00f3n, coaching y de facilitar reuniones y eventos si en necesarios.<\/li><li><strong>Equipo de desarrollo<\/strong>: Son los encargados de desarrollar el producto, deben ser capaces de autogestionarse y autoorganizarse para poder entregar un incremento de software al final de cada sprint. Este equipo debe contar con los conocimientos t\u00e9cnicos necesarios para desarrollar de manera conjunta las tareas, llevando cada una de las historias designadas al inicio de sprint.<\/li><\/ul>\n\n\n\n<p>En la pizarra se determina cu\u00e1l ser\u00e1 la siguiente tarea a desarrollarse. Cuando un desarrollador del equipo de Scrum se desocupe de una tarea anterior, deber\u00e1 seleccionar la siguiente tarea seg\u00fan la prioridad de la misma. La pizarra cuenta con diversas columnas que determinan el estado de la tarea, a su vez existen anotaciones o etiquetas para determinar algunas caracter\u00edsticas de la tarea.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>POR HACER<\/strong>: Son todas las tareas pendientes por desarrollarse.<\/li><li><strong>EN PROGRESO<\/strong>: Son aquellas tareas en las que se ha iniciado su desarrollo.<\/li><li><strong>PEND REV C\u00d3DIGO<\/strong>: En esta etapa las tareas estan concluidas y se realiza una revisi\u00f3n por parte de otro integrante del equipo.<\/li><li><strong>SU. DESARROLLO<\/strong>: Esta etapa le comunica a Scrum master que debe crear o integrar la tarea a un servidor de desarrollo, para que pueda ser probada en un ambiente m\u00e1s real.<\/li><li><strong>PR: DESARROLLO<\/strong>: Son las tareas que se encuentran en el servidor de desarrollo y est\u00e1n siento probadas y verificadas por el equipo de desarrollo y el Product Owner.<\/li><li><strong>HECHO<\/strong>: Son las tareas listas para su subida a producci\u00f3n.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Pasos-para-el-proceso-de-desarrollo-y-puesta-en-producci\u00f3n\">Pasos para el proceso de desarrollo y puesta en producci\u00f3n<\/h2>\n\n\n\n<p>Para el presente documento y ejemplo utilizaremos la pizarra designada al equipo de desarrollo <strong>SIGESA-RHU<\/strong> y la tarea o caso <strong>RHU-6331<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-1:-Selecci\u00f3n-de-la-tarea\">Paso 1: Selecci\u00f3n de la tarea<\/h3>\n\n\n\n<p>Se debe seleccionar la tarea superior de la columna <strong>POR HACER<\/strong> de la pizarra del equipo, debido a que las tareas est\u00e1n priorizadas en dicho orden, y arrastrarla a la columna <strong>EN PROGRESO.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"506\" src=\"\/wp-content\/uploads\/2022\/09\/41e95cd1-61f5-4245-88fe-9f52c1af12b9-1024x506.png\" alt=\"\" class=\"wp-image-12517\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/41e95cd1-61f5-4245-88fe-9f52c1af12b9-1024x506.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/41e95cd1-61f5-4245-88fe-9f52c1af12b9-300x148.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/41e95cd1-61f5-4245-88fe-9f52c1af12b9-768x380.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/41e95cd1-61f5-4245-88fe-9f52c1af12b9-1536x759.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/41e95cd1-61f5-4245-88fe-9f52c1af12b9.png 1900w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Una vez arrastrada a la columna <strong>EN PROGRESO <\/strong>se da clic sobre la misma y se registra el desarrollador responsable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"431\" height=\"280\" src=\"\/wp-content\/uploads\/2022\/09\/e66f7ee0-9697-443f-a84f-77c99fde697d.png\" alt=\"\" class=\"wp-image-12518\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e66f7ee0-9697-443f-a84f-77c99fde697d.png 431w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e66f7ee0-9697-443f-a84f-77c99fde697d-300x195.png 300w\" sizes=\"(max-width: 431px) 100vw, 431px\" \/><\/figure>\n\n\n\n<p>Cabe mencionar que la tarea presenta una breve descripci\u00f3n de la misma y los detalles a realizar en ella, por lo que el desarrollador sabr\u00e1 puntualmente que es lo que debe realizar en ella.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-2:-Creaci\u00f3n-de-la-nueva-rama\">Paso 2: Creaci\u00f3n de la nueva rama<\/h3>\n\n\n\n<p>Al igual que en el paso anterior, se debe seleccionar la tarea y abrirla, en donde se mostrar\u00e1 la informaci\u00f3n de la misma y una opci\u00f3n para crear una rama \u00fanica para su desarrollo. Se procede a dar clic sobre la opci\u00f3n <strong>Create Branch<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"425\" src=\"\/wp-content\/uploads\/2022\/09\/880a1660-7a57-4dfd-9215-9bd12a93d2fe.png\" alt=\"\" class=\"wp-image-12519\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/880a1660-7a57-4dfd-9215-9bd12a93d2fe.png 589w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/880a1660-7a57-4dfd-9215-9bd12a93d2fe-300x216.png 300w\" sizes=\"(max-width: 589px) 100vw, 589px\" \/><\/figure>\n\n\n\n<p>Inmediatamente, nos mostrar\u00e1 un sub-men\u00fa con las opciones para enlazar nuestra tarea de <strong>Jira<\/strong> con una rama de c\u00f3digo fuente en <strong>Bitbucket, <\/strong>en donde seleccionamos la opci\u00f3n <strong>Create branch in Bitbucket<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"407\" src=\"\/wp-content\/uploads\/2022\/09\/08e0a664-54d4-44cd-814b-83afec9786e1.png\" alt=\"\" class=\"wp-image-12521\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/08e0a664-54d4-44cd-814b-83afec9786e1.png 585w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/08e0a664-54d4-44cd-814b-83afec9786e1-300x209.png 300w\" sizes=\"(max-width: 585px) 100vw, 585px\" \/><\/figure>\n\n\n\n<p>Esta acci\u00f3n har\u00e1 que se despliegue un asistente para la creaci\u00f3n de la rama en la aplicaci\u00f3n de Bitbucket, una vez se cargue la pantalla debemos especificar una serie de datos para crear la bifurcaci\u00f3n del c\u00f3digo deseado<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"484\" src=\"\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-1024x484.png\" alt=\"\" class=\"wp-image-12523\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-1024x484.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-300x142.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-768x363.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae.png 1114w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Repository<\/strong>: Es el repositorio de c\u00f3digo fuente en donde deseamos trabajar, debemos tener acceso al mismo.<\/li><li><strong>Branch type<\/strong>: Es el tipo de rama a crear (para este ejemplo ser\u00e1 <strong>feature<\/strong>).<\/li><li><strong>Branch from<\/strong>: Es la rama origen desde donde deseamos crear nuestra bifurcaci\u00f3n de c\u00f3digo (todas las ramas <strong>feature<\/strong> se crean desde <strong>develop<\/strong>).<\/li><li><strong>Branch name<\/strong>: El nombre de la rama(<strong>feature\/RHU-6331<\/strong>)<\/li><\/ul>\n\n\n\n<p>Finalmente, presionamos sobre el bot\u00f3n <strong>Create branch<\/strong>, lo que crear\u00e1 dicha rama de trabajo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"781\" height=\"625\" src=\"\/wp-content\/uploads\/2022\/09\/5b12646c-cfca-4663-8bee-3f426c3ff481.png\" alt=\"\" class=\"wp-image-12524\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/5b12646c-cfca-4663-8bee-3f426c3ff481.png 781w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/5b12646c-cfca-4663-8bee-3f426c3ff481-300x240.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/5b12646c-cfca-4663-8bee-3f426c3ff481-768x615.png 768w\" sizes=\"(max-width: 781px) 100vw, 781px\" \/><\/figure>\n\n\n\n<p>Una vez creada la rama en el repositorio, procedemos a descargarla mediante alguna herramienta para el trabajo de repositorios basados en Git, o desde la l\u00ednea de comandos de nuestro equipo. Para el ejemplo se utilizar\u00e1 Apache NetBeans para el trabajo en la rama, se asume el previo <strong>clone<\/strong> del repositorio (ver la secci\u00f3n<strong> Git en Apache NetBeans<\/strong>).<\/p>\n\n\n\n<p>Procedemos a descargar la rama deseada desde Apache NetBeans en la opci\u00f3n <strong>Git<\/strong> > <strong>Remote<\/strong> > <strong>Pull<\/strong>, con lo cual se mostrar\u00e1 un asistente en donde definimos el repositorio origen y las credenciales de acceso.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"978\" height=\"693\" src=\"\/wp-content\/uploads\/2022\/09\/20bb932c-ac87-427a-970a-db859ce0dd1f.png\" alt=\"\" class=\"wp-image-12526\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/20bb932c-ac87-427a-970a-db859ce0dd1f.png 978w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/20bb932c-ac87-427a-970a-db859ce0dd1f-300x213.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/20bb932c-ac87-427a-970a-db859ce0dd1f-768x544.png 768w\" sizes=\"(max-width: 978px) 100vw, 978px\" \/><\/figure>\n\n\n\n<p>Al presionar sobre el bot\u00f3n <strong>Next ><\/strong>, se nos desplegar\u00e1n todas las ramas creadas en el repositorio, aqu\u00ed debemos seleccionar la rama actual en donde estemos, en este caso <strong>develop<\/strong>, y la rama nueva a descargar(<strong>feature\/RHU-6331<\/strong>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"675\" src=\"\/wp-content\/uploads\/2022\/09\/9d8846a0-5473-40d5-bd69-38f2bf55ef1c.png\" alt=\"\" class=\"wp-image-12527\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9d8846a0-5473-40d5-bd69-38f2bf55ef1c.png 966w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9d8846a0-5473-40d5-bd69-38f2bf55ef1c-300x210.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9d8846a0-5473-40d5-bd69-38f2bf55ef1c-768x537.png 768w\" sizes=\"(max-width: 966px) 100vw, 966px\" \/><\/figure>\n\n\n\n<p>Finalmente, se debe presionar sobre el bot\u00f3n <strong>Finish<\/strong>, con lo cual se proceder\u00e1 a descargar la informaci\u00f3n de la rama en nuestro equipo.<\/p>\n\n\n\n<p><strong>Nota<\/strong>: Existir\u00e1n dos ramas, <strong>feature\/RHU-6331<\/strong> y <strong>origin\/feature\/RHU-6331<\/strong>, sin embargo, la que dice <strong>origin<\/strong> es la referencia de la rama remota que se encuentra en el servidor de Bitbucket, y la que no dice <strong>origin<\/strong>, es la rama local en nuestro equipo.<\/p>\n\n\n\n<p>Una vez descargada la informaci\u00f3n de la rama, procedemos a movernos o cambiar de rama a la rama <strong>feature\/RHU-6331<\/strong>, esto se realiza mediante la opci\u00f3n <strong>Git<\/strong> > <strong>Branch\/Tag<\/strong> > <strong>Switch To Branch\u2026<\/strong>, se mostrar\u00e1 un asistente en donde seleccionamos a la rama en donde queremos trabajar y presionamos el bot\u00f3n <strong>Switch<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"616\" height=\"557\" src=\"\/wp-content\/uploads\/2022\/09\/b8d82dce-7b42-4374-ba90-3eba3dcd0853.png\" alt=\"\" class=\"wp-image-12528\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/b8d82dce-7b42-4374-ba90-3eba3dcd0853.png 616w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/b8d82dce-7b42-4374-ba90-3eba3dcd0853-300x271.png 300w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/figure>\n\n\n\n<p>De aqu\u00ed en adelante, se debe trabajar a nivel de programaci\u00f3n de c\u00f3digo para realizar lo correspondiente en la tarea seleccionada.<\/p>\n\n\n\n<p>Cada vez que se deseen guardar los cambios de nuestro trabajo en la rama (copia local), se debe realizar una confirmaci\u00f3n de los cambios mediante la opci\u00f3n <strong>Git<\/strong> > <strong>Commit<\/strong>, la cual mostrar\u00e1 un asistente en donde agregamos un mensaje de lo realizado y los archivos involucrados en el desarrollo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"592\" src=\"\/wp-content\/uploads\/2022\/09\/8defc593-527a-411c-ba8a-f26c1c9d557a.png\" alt=\"\" class=\"wp-image-12529\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/8defc593-527a-411c-ba8a-f26c1c9d557a.png 980w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/8defc593-527a-411c-ba8a-f26c1c9d557a-300x181.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/8defc593-527a-411c-ba8a-f26c1c9d557a-768x464.png 768w\" sizes=\"(max-width: 980px) 100vw, 980px\" \/><\/figure>\n\n\n\n<p><strong>Nota<\/strong>: Se pueden realizar tantos commits como se desee.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-3:-Env\u00edo-de-los-cambios-al-repositorio-remoto.\">Paso 3: Env\u00edo de los cambios al repositorio remoto.<\/h3>\n\n\n\n<p>Hasta el momento, todas las modificaciones realizadas al c\u00f3digo fuente son almacenadas en nuestra rama local (<strong>feature\/RHU-6331<\/strong>), sin embargo, se completa todo el desarrollo de la tarea, se debe compartir al repositorio remoto nuestros cambios, con lo que cualquier otro miembro del equipo los podr\u00e1 acceder y verificar.<\/p>\n\n\n\n<p>Para enviar estos cambios a la rama remota (<strong>origin\/feature\/RHU-6331<\/strong>), se debe realizar mediante la opci\u00f3n <strong>Git<\/strong> > <strong>Remote<\/strong> > <strong>Push<\/strong>, con lo cual se mostrar\u00e1 un asistente en donde definimos el repositorio remoto y las credenciales de acceso.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"690\" src=\"\/wp-content\/uploads\/2022\/09\/15dceebe-c1e1-44e9-9d29-c1cbf07ee959.png\" alt=\"\" class=\"wp-image-12531\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/15dceebe-c1e1-44e9-9d29-c1cbf07ee959.png 943w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/15dceebe-c1e1-44e9-9d29-c1cbf07ee959-300x220.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/15dceebe-c1e1-44e9-9d29-c1cbf07ee959-768x562.png 768w\" sizes=\"(max-width: 943px) 100vw, 943px\" \/><\/figure>\n\n\n\n<p>Al presionar sobre el bot\u00f3n <strong>Next ><\/strong>, se nos desplegar\u00e1 y marcar\u00e1 por defecto la rama local y la rama remota, de tal manera que se enviaran los cambios locales al repositorio remoto (<strong>feature\/RHU-6331 -> feature\/RHU-6331<\/strong>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"953\" height=\"680\" src=\"\/wp-content\/uploads\/2022\/09\/d63a246a-6865-49ae-b701-03cfb26a23f9.png\" alt=\"\" class=\"wp-image-12532\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d63a246a-6865-49ae-b701-03cfb26a23f9.png 953w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d63a246a-6865-49ae-b701-03cfb26a23f9-300x214.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d63a246a-6865-49ae-b701-03cfb26a23f9-768x548.png 768w\" sizes=\"(max-width: 953px) 100vw, 953px\" \/><\/figure>\n\n\n\n<p>Si presionamos el bot\u00f3n <strong>Next ><\/strong>, nos mostrar\u00e1 una confirmaci\u00f3n de lo anterior.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"936\" height=\"680\" src=\"\/wp-content\/uploads\/2022\/09\/45241a97-c727-40b0-ae9b-f6a80d76b0a1.png\" alt=\"\" class=\"wp-image-12533\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/45241a97-c727-40b0-ae9b-f6a80d76b0a1.png 936w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/45241a97-c727-40b0-ae9b-f6a80d76b0a1-300x218.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/45241a97-c727-40b0-ae9b-f6a80d76b0a1-768x558.png 768w\" sizes=\"(max-width: 936px) 100vw, 936px\" \/><\/figure>\n\n\n\n<p>Finalmente, se debe presionar sobre el bot\u00f3n <strong>Finish<\/strong>, con lo cual se proceder\u00e1 a subir o enviar la informaci\u00f3n de la rama local a la rama remota (subida de c\u00f3digo fuente).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-4:-Revisi\u00f3n-de-c\u00f3digo\">Paso 4: Revisi\u00f3n de c\u00f3digo<\/h3>\n\n\n\n<p>Como parte de la metodolog\u00eda implendata en los equipos de desarrollo, se debe realizar un proceso de verificaci\u00f3n de c\u00f3digo desarrollado en la tarea. Para ello, la persona responsable de la tarea debe cambiar el estado de la misma desde la pizarra en Jira, moviendo la tarea de la columna <strong>EN PROGRESO<\/strong> a la columna <strong>PEND REV C\u00d3DIGO<\/strong>, esto notificar\u00e1 a otro integrante del equipo (previamente establecido) que deber\u00e1 revisar el trabajo realizado por el responsable de la tarea.<\/p>\n\n\n\n<p><strong>Nota<\/strong>: La persona encargada de la revisi\u00f3n del c\u00f3digo debe ser otra diferente a la responsable de la tarea.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"464\" src=\"\/wp-content\/uploads\/2022\/09\/407ca245-8165-4046-922c-fe34730b31f5-1024x464.png\" alt=\"\" class=\"wp-image-12534\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/407ca245-8165-4046-922c-fe34730b31f5-1024x464.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/407ca245-8165-4046-922c-fe34730b31f5-300x136.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/407ca245-8165-4046-922c-fe34730b31f5-768x348.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/407ca245-8165-4046-922c-fe34730b31f5-1536x696.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/407ca245-8165-4046-922c-fe34730b31f5.png 1556w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Una vez finalizado el proceso de revisi\u00f3n de c\u00f3digo, se debe dar al responsable de la tarea el visto bueno de la misma, o en caso contrario, se le debe de comunicar los posibles errores de la implementaci\u00f3n realizada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-5:-Solicitud-para-pruebas-(desarrollo)\">Paso 5: Solicitud para pruebas (desarrollo)<\/h3>\n\n\n\n<p>Cuando el responsable de la revisi\u00f3n de c\u00f3digo, le da el visto bueno al responsable de la tarea, este proceder\u00e1 a solicitar la integraci\u00f3n de su c\u00f3digo, en una rama especial creada por el Scrum master la cual ser\u00e1 compilada y desplegada en un servidor de pruebas. Para esto, el responsable de la tarea deber\u00e1 traslatar la tarea en la pizarra del equipo, del estado <strong>PEND REV C\u00d3DIGO<\/strong> al estado <strong>SU. DESARROLLO<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"434\" src=\"\/wp-content\/uploads\/2022\/09\/d8a8e075-61bf-459d-8269-0e7a7146b720-1024x434.png\" alt=\"\" class=\"wp-image-12535\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d8a8e075-61bf-459d-8269-0e7a7146b720-1024x434.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d8a8e075-61bf-459d-8269-0e7a7146b720-300x127.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d8a8e075-61bf-459d-8269-0e7a7146b720-768x325.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d8a8e075-61bf-459d-8269-0e7a7146b720-1536x650.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d8a8e075-61bf-459d-8269-0e7a7146b720.png 1592w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>El Scrum master ser\u00e1 el responsable de integrar la tarea a la rama especial para realizar las pruebas, esta rama ser\u00e1 compilada y desplegada en un servidor de pruebas mediante la herramienta <strong>Bamboo<\/strong>, la cual ser\u00e1 mostrada m\u00e1s adelante en el documento.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-6:-Integraci\u00f3n-al-servidor-de-desarrollo\">Paso 6: Integraci\u00f3n al servidor de desarrollo<\/h3>\n\n\n\n<p>Como se mencion\u00f3 anteriormente, el Scrum master es el responsable de verificar la columna <strong>SU. DESARROLLO<\/strong>, y proceder a realizar la integraci\u00f3n de c\u00f3digo a una rama especial para realizar las pruebas correspondientes de la tarea, en un servidor de pruebas. Cuando esta tarea est\u00e9 integrada, compilada y desplegada en el servidor de pruebas, el Scrum master trasladara la tarea en la pizarra del estado <strong>SU. DESARROLLO<\/strong> al estado <strong>PR. DESARROLLO<\/strong>, con esto se le notificar\u00e1 al desarrollador o responsable de la tarea, que la misma ya esta lista para sus pruebas en el servidor de desarrollo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"452\" src=\"\/wp-content\/uploads\/2022\/09\/e0fbc330-9e99-4a43-b3c5-f8c6a3b30431-1024x452.png\" alt=\"\" class=\"wp-image-12537\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e0fbc330-9e99-4a43-b3c5-f8c6a3b30431-1024x452.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e0fbc330-9e99-4a43-b3c5-f8c6a3b30431-300x132.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e0fbc330-9e99-4a43-b3c5-f8c6a3b30431-768x339.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e0fbc330-9e99-4a43-b3c5-f8c6a3b30431-1536x678.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e0fbc330-9e99-4a43-b3c5-f8c6a3b30431.png 1583w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Es importante destacar que en esta etapa, la tarea puede ser probada o verificada, tanto como por el responsable de la tarea, como por cualquier otro integrante de equipo, inclusive el Product Owner deber\u00e1 verificarla y validarla.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-7:-Fin-de-la-tarea\">Paso 7: Fin de la tarea<\/h3>\n\n\n\n<p>Al estar completamente validada la tarea por el equipo de desarrollo, esta cambia su estado al estado final de determinado en la pizarra del equipo, el cual es <strong>HECHO<\/strong>, con ello se notifica que la tarea est\u00e1 completamente lista para su futura integraci\u00f3n a las ramas principales (<strong>develop<\/strong> y <strong>master<\/strong>), para posteriormente ser puesta en producci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"441\" src=\"\/wp-content\/uploads\/2022\/09\/d085962f-469c-4f02-a83e-305da68f0f99-1024x441.png\" alt=\"\" class=\"wp-image-12539\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d085962f-469c-4f02-a83e-305da68f0f99-1024x441.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d085962f-469c-4f02-a83e-305da68f0f99-300x129.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d085962f-469c-4f02-a83e-305da68f0f99-768x331.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d085962f-469c-4f02-a83e-305da68f0f99-1536x662.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/d085962f-469c-4f02-a83e-305da68f0f99.png 1588w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-8:-Solicitar-integraci\u00f3n-a-develop\">Paso 8: Solicitar integraci\u00f3n a develop<\/h3>\n\n\n\n<p>Una vez la rama sea cambiada, por el responsable de desarrollarla, al estado <strong>HECHO<\/strong>, este deber\u00e1 solicitarle al Scrum master que integre la tarea con la rama principal <strong>develop<\/strong>, para ello se debera crear suna solicitud de integraci\u00f3n (<strong>Pull request<\/strong>) de la rama de la tarea a la rama <strong>develop<\/strong>.<\/p>\n\n\n\n<p>Desde <strong>Bitbucket<\/strong> se deber\u00e1 seleccionar el repositorio deseado.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"925\" height=\"599\" src=\"\/wp-content\/uploads\/2022\/09\/488e500d-2a8a-40e8-b4b5-f481752c4676.png\" alt=\"\" class=\"wp-image-12540\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/488e500d-2a8a-40e8-b4b5-f481752c4676.png 925w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/488e500d-2a8a-40e8-b4b5-f481752c4676-300x194.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/488e500d-2a8a-40e8-b4b5-f481752c4676-768x497.png 768w\" sizes=\"(max-width: 925px) 100vw, 925px\" \/><figcaption>Se debe seleccionar la opci\u00f3n de la barra lateral izquierda <strong>Pull Requets<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"604\" height=\"636\" src=\"\/wp-content\/uploads\/2022\/09\/049763fc-f1c4-43eb-96a7-9fcc863c4615.png\" alt=\"\" class=\"wp-image-12541\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/049763fc-f1c4-43eb-96a7-9fcc863c4615.png 604w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/049763fc-f1c4-43eb-96a7-9fcc863c4615-285x300.png 285w\" sizes=\"(max-width: 604px) 100vw, 604px\" \/><\/figure>\n\n\n\n<p>Y presionar el bot\u00f3n <strong>Create pull request<\/strong>, lo cual nos mostrar\u00e1 un asistente para registrar el <strong>pull request<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"930\" height=\"402\" src=\"\/wp-content\/uploads\/2022\/09\/f5b3b1c4-0b44-45d5-b9d4-b073b31fd875.png\" alt=\"\" class=\"wp-image-12542\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/f5b3b1c4-0b44-45d5-b9d4-b073b31fd875.png 930w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/f5b3b1c4-0b44-45d5-b9d4-b073b31fd875-300x130.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/f5b3b1c4-0b44-45d5-b9d4-b073b31fd875-768x332.png 768w\" sizes=\"(max-width: 930px) 100vw, 930px\" \/><\/figure>\n\n\n\n<p>En este asistente se deber\u00e1 seleccionar dos par\u00e1metros principales, los cuales son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Source<\/strong>: Es la rama que deseamos integrar (<strong>feature\/RHU-6331<\/strong>).<\/li><li><strong>Destination<\/strong>: Es la rama a la cual deseamos enviar los cambios (<strong>develop<\/strong>).<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"484\" src=\"\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-1-1024x484.png\" alt=\"\" class=\"wp-image-12543\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-1-1024x484.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-1-300x142.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-1-768x363.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/2a32400a-c71b-403d-a307-70a9a73b3dae-1.png 1114w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Una vez seleccionadas las ramas, presionamos el bot\u00f3n <strong>Continue<\/strong>, lo cual, nos mostrar\u00e1 un \u00faltimo detalle con la informaci\u00f3n de <strong>pull request<\/strong> a crear.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"825\" height=\"601\" src=\"\/wp-content\/uploads\/2022\/09\/c13b009b-3e20-4470-b5ca-7673992a5c41.png\" alt=\"\" class=\"wp-image-12544\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/c13b009b-3e20-4470-b5ca-7673992a5c41.png 825w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/c13b009b-3e20-4470-b5ca-7673992a5c41-300x219.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/c13b009b-3e20-4470-b5ca-7673992a5c41-768x559.png 768w\" sizes=\"(max-width: 825px) 100vw, 825px\" \/><\/figure>\n\n\n\n<p>Si toda la informaci\u00f3n es correcta, se procede a presionar el bot\u00f3n Create, lo cual crear\u00e1 el pull request, que posteriormente integrar\u00e1 el Scrum master a <strong>develop<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"493\" src=\"\/wp-content\/uploads\/2022\/09\/0764e54d-dfa4-4029-8819-93c4feeb8a20.png\" alt=\"\" class=\"wp-image-12545\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/0764e54d-dfa4-4029-8819-93c4feeb8a20.png 684w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/0764e54d-dfa4-4029-8819-93c4feeb8a20-300x216.png 300w\" sizes=\"(max-width: 684px) 100vw, 684px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-9:-Integraci\u00f3n-a-develop\">Paso 9: Integraci\u00f3n a develop<\/h3>\n\n\n\n<p>El Scrum master tendr\u00e1 la tarea de verificar constantemente las solicitudes de integraci\u00f3n de su equipo de trabajo. \u00c9l deber\u00e1 de ingresar a Bitbucket e ingresar a la secci\u00f3n de Pull Request, en donde verificar\u00e1 si otro miembro del equipo le ha solicitado alguna integraci\u00f3n. Si ese es el caso, deber\u00e1 seleccionar el <strong>pull request<\/strong>.<\/p>\n\n\n\n<p><strong>Nota:<\/strong> \u00danicamente los Scrum master podr\u00e1n realizar la accion de integraci\u00f3n, para esta configuraci\u00f3n, ser\u00edan los usuarios dentro del grupo <strong>COORDINACION-SIGESA<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"430\" src=\"\/wp-content\/uploads\/2022\/09\/adf80391-ac38-4421-b110-fda8da070eb5-1024x430.png\" alt=\"\" class=\"wp-image-12547\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/adf80391-ac38-4421-b110-fda8da070eb5-1024x430.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/adf80391-ac38-4421-b110-fda8da070eb5-300x126.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/adf80391-ac38-4421-b110-fda8da070eb5-768x323.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/adf80391-ac38-4421-b110-fda8da070eb5.png 1419w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Una vez seleccionado, se mostrar\u00e1 la opci\u00f3n para integrar esta tarea a la rama destino, para ello se presiona sobre el bot\u00f3n <strong>Merge<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1002\" height=\"511\" src=\"\/wp-content\/uploads\/2022\/09\/473bdc7c-93d1-4c0d-a1d0-efe5e839491c.png\" alt=\"\" class=\"wp-image-12548\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/473bdc7c-93d1-4c0d-a1d0-efe5e839491c.png 1002w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/473bdc7c-93d1-4c0d-a1d0-efe5e839491c-300x153.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/473bdc7c-93d1-4c0d-a1d0-efe5e839491c-768x392.png 768w\" sizes=\"(max-width: 1002px) 100vw, 1002px\" \/><\/figure>\n\n\n\n<p>Se mostrar\u00e1, a continuaci\u00f3n, una confirmaci\u00f3n del <strong>pull request<\/strong>, en donde se integrar\u00e1 el nuevo c\u00f3digo de la rama <strong>feature\/RHU-6331<\/strong> a la rama <strong>develop<\/strong>. Finalmente, presionamos el bot\u00f3n Merge, lo cual har\u00e1 que se integre el c\u00f3digo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"836\" height=\"557\" src=\"\/wp-content\/uploads\/2022\/09\/330a8572-47f9-4dc4-a31b-d48b64738474.png\" alt=\"\" class=\"wp-image-12550\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/330a8572-47f9-4dc4-a31b-d48b64738474.png 836w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/330a8572-47f9-4dc4-a31b-d48b64738474-300x200.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/330a8572-47f9-4dc4-a31b-d48b64738474-768x512.png 768w\" sizes=\"(max-width: 836px) 100vw, 836px\" \/><\/figure>\n\n\n\n<p><strong>Nota<\/strong>: El ciclo de vida de la rama correspondiente a la tarea, llega en este momento a su fin.<\/p>\n\n\n\n<p>Como se mencion\u00f3 en secciones anteriores, existe otra herramienta llamada <strong>Bamboo<\/strong>, la cual est\u00e1 configurada para detectar los cambios en ramas espec\u00edficas (<strong>develop<\/strong> y <strong>master<\/strong>), esta herramienta al detectar un cambio en el c\u00f3digo, por medio de una integraci\u00f3n de <strong>pull request<\/strong>, disparar\u00e1 un proceso el cual compilar\u00e1 las fuentes y crear\u00e1 un ejecutable de la aplicaci\u00f3n, bas\u00e1ndose en la informaci\u00f3n actual de la rama.<\/p>\n\n\n\n<p>Este proceso de compilaci\u00f3n de c\u00f3digo fuente y creaci\u00f3n de la aplicaci\u00f3n, ser\u00e1 notificada a los Scrum master, en donde alertar\u00e1 si el c\u00f3digo fuente actual de la rama presenta alguna inconsistencia o error en el mismo, o si, en caso contrario, el c\u00f3digo fue compilado de manera correcta y se pudo generar una versi\u00f3n de la aplicaci\u00f3n.<\/p>\n\n\n\n<p>Estas notificaci\u00f3nes tambi\u00e9n pueden ser vizualizadas desde el <strong>Bitbucket<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"65\" src=\"\/wp-content\/uploads\/2022\/09\/a06971b3-b525-4f55-94de-7d60dda04d8c-1024x65.png\" alt=\"\" class=\"wp-image-12551\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/a06971b3-b525-4f55-94de-7d60dda04d8c-1024x65.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/a06971b3-b525-4f55-94de-7d60dda04d8c-300x19.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/a06971b3-b525-4f55-94de-7d60dda04d8c-768x49.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/a06971b3-b525-4f55-94de-7d60dda04d8c.png 1260w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-10:-Integraci\u00f3n-a-master-(nueva-versi\u00f3n-del-sistema)\">Paso 10: Integraci\u00f3n a master (nueva versi\u00f3n del sistema)<\/h3>\n\n\n\n<p>La integraci\u00f3n del c\u00f3digo a <strong>master<\/strong> es una labor exclusiva de los Scrum master y se realiza \u00fanicamente desde la rama principal de desarrollo <strong>develop<\/strong>. Se debe tener en consideraci\u00f3n que existen diversos equipos de desarrollo, los cuales trabajan sobre sistemas y m\u00f3dulos en espec\u00edfico, por este motivo y debido a la estructura de proyectos basados en Git, es que no se despliegan versiones directamente desde <strong>develop<\/strong>, es decir, hasta que no exista una posible respuesta positiva por parte del <strong>Bamboo<\/strong>, no se debe integrar hacia <strong>master.<\/strong><\/p>\n\n\n\n<p>El proceso de integraci\u00f3n a master desde develop es muy similar al proceso anterior, la gran diferencia es que todo este proceso es creado y gestionado por el Scrum master.<\/p>\n\n\n\n<p>En donde debe, similar a lo anterior, crear un <strong>Pull request<\/strong>, desde la rama origen <strong>develop<\/strong> hacia la rama destino <strong>master<\/strong>, y posteriormente realizar el <strong>Merge<\/strong>.<\/p>\n\n\n\n<p>De igual manera que con la rama <strong>develop<\/strong>, <strong>Bamboo<\/strong>, por su configuraci\u00f3n, detectar\u00e1 los cambios en rama <strong>master<\/strong> y disparar\u00e1 un proceso el cual compilar\u00e1 las fuentes y crear\u00e1 un ejecutable de la aplicaci\u00f3n, bas\u00e1ndose en la informaci\u00f3n actual de la rama, este proceso crear\u00e1 una nueva versi\u00f3n del sistema, sin embargo, cabe mencionar que no necesariamente todas las versiones creadas exitosamente son desplegadas en producci\u00f3n, esto debido a que la rama master puede sufrir r\u00e1pidamente cambios. Sin embargo, gracias a esta configuraci\u00f3n en <strong>Bamboo<\/strong>, los equipos de desarrollo se garantizan que al menos existe una versi\u00f3n reciente y bien generada creada en <strong>Bamboo<\/strong> y lista para una posible puesta en producci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Paso-11:-Puesta-en-producci\u00f3n.\">Paso 11: Puesta en producci\u00f3n.<\/h3>\n\n\n\n<p>Al igual que la integraci\u00f3n a la rama <strong>master<\/strong>, la puesta en producci\u00f3n de una nueva versi\u00f3n, es una labor exclusiva de los Scrum master y se realiza mediante la herramienta <strong>Bamboo<\/strong>. Para ello, se ingresa a la herramienta y se selecciona el proyecto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"565\" src=\"\/wp-content\/uploads\/2022\/09\/7093cb61-4ae8-4bca-9bbe-91869b32e43e-1024x565.png\" alt=\"\" class=\"wp-image-12552\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/7093cb61-4ae8-4bca-9bbe-91869b32e43e-1024x565.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/7093cb61-4ae8-4bca-9bbe-91869b32e43e-300x166.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/7093cb61-4ae8-4bca-9bbe-91869b32e43e-768x424.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/7093cb61-4ae8-4bca-9bbe-91869b32e43e.png 1283w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Una vez dentro del proyecto nos mostrar\u00e1 las \u00faltimas compilaciones de la rama.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"624\" src=\"\/wp-content\/uploads\/2022\/09\/e7e88672-f46c-4ab7-8c37-98ea21205399.png\" alt=\"\" class=\"wp-image-12553\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e7e88672-f46c-4ab7-8c37-98ea21205399.png 1021w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e7e88672-f46c-4ab7-8c37-98ea21205399-300x183.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/e7e88672-f46c-4ab7-8c37-98ea21205399-768x469.png 768w\" sizes=\"(max-width: 1021px) 100vw, 1021px\" \/><\/figure>\n\n\n\n<p>Si se desear\u00e1 liberar una nueva versi\u00f3n del sistema, el Scrum master, debe notificar a los dem\u00e1s Scrum master que liberar\u00e1 una nueva versi\u00f3n, en donde los dem\u00e1s Scrum master deben dar su visto bueno, esto se realiza con el fin de dar a conocer a los dem\u00e1s equipos, que las tareas integradas ser\u00e1n puestas en producci\u00f3n.<\/p>\n\n\n\n<p>Para realizar la liberaci\u00f3n de la \u00faltima versi\u00f3n compilada, se debe presionar el bot\u00f3n<strong> \u201cRelated deployment projects\u201d <\/strong>y seleccionar el plan de despliegue (<strong>SIGESA<\/strong>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"277\" src=\"\/wp-content\/uploads\/2022\/09\/347730be-50e3-4041-ab01-ea854623787e.png\" alt=\"\" class=\"wp-image-12554\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/347730be-50e3-4041-ab01-ea854623787e.png 749w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/347730be-50e3-4041-ab01-ea854623787e-300x111.png 300w\" sizes=\"(max-width: 749px) 100vw, 749px\" \/><\/figure>\n\n\n\n<p>A continuaci\u00f3n, se debe presionar el bot\u00f3n <strong>Deploy<\/strong>, y seleccionar la opci\u00f3n <strong>Producci\u00f3n (erp.una.ac.cr).<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"696\" height=\"448\" src=\"\/wp-content\/uploads\/2022\/09\/8701d419-0637-4594-b8dc-15d521fcc4df.png\" alt=\"\" class=\"wp-image-12555\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/8701d419-0637-4594-b8dc-15d521fcc4df.png 696w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/8701d419-0637-4594-b8dc-15d521fcc4df-300x193.png 300w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/figure>\n\n\n\n<p>Finalmente, nos mostrar\u00e1 un \u00faltimo asistente, en donde se debe seleccionar la opci\u00f3n <strong>\u201cCreate new release from build result\u201c<\/strong>, y \u00e9l cargar\u00e1 la informaci\u00f3n correspondiente a la \u00faltima vesi\u00f3n compilada existosa de la rama <strong>master.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"478\" src=\"\/wp-content\/uploads\/2022\/09\/9e5d68c7-2697-462c-b624-7118cb96b6ea-1024x478.png\" alt=\"\" class=\"wp-image-12556\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9e5d68c7-2697-462c-b624-7118cb96b6ea-1024x478.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9e5d68c7-2697-462c-b624-7118cb96b6ea-300x140.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9e5d68c7-2697-462c-b624-7118cb96b6ea-768x359.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/9e5d68c7-2697-462c-b624-7118cb96b6ea.png 1034w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Bastar\u00e1 presionar el bot\u00f3n <strong>Start deployment<\/strong>, para que el sistema Bamboo inicie el despliegue de la nueva versi\u00f3n del sistema, con los \u00faltimos cambios integrados.<\/p>\n\n\n\n<p>Al finalizar este proceso, nos notificar\u00e1 del despliegue exitoso, por lo que podremos navegar hacia nuestro sistema y encontrar nuevos cambios en \u00e9l.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"622\" src=\"\/wp-content\/uploads\/2022\/09\/a2d2f62e-ebd7-4a22-96d2-8e0bdf8f1ce1-1024x622.png\" alt=\"\" class=\"wp-image-12557\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/a2d2f62e-ebd7-4a22-96d2-8e0bdf8f1ce1-1024x622.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/a2d2f62e-ebd7-4a22-96d2-8e0bdf8f1ce1-300x182.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/a2d2f62e-ebd7-4a22-96d2-8e0bdf8f1ce1-768x467.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/09\/a2d2f62e-ebd7-4a22-96d2-8e0bdf8f1ce1.png 1218w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Que es Git Git es un software de control de versiones, cuyo prop\u00f3sito es llevar el registro e hist\u00f3rico de los cambios en archivos y coordinar el trabajo que varias personas realizan sobre archivos compartidos.\u00a0 Una de las grandes caracter\u00edsticas que posee Git contra otras tecnolog\u00edas de control de versiones, tal como Subversion, es que [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[429],"tags":[430,52],"class_list":["post-12512","post","type-post","status-publish","format-standard","hentry","category-cgi","tag-cgi","tag-git"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/12512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12512"}],"version-history":[{"count":11,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/12512\/revisions"}],"predecessor-version":[{"id":12558,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/12512\/revisions\/12558"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}