Este repositorio tiene como objetivo generar una guía para el desarrollo de una práctica de versionamiento con github, aprender los comandos básicos y manejar la herramienta GitHub.
- Crear cuenta en GitHub.
- Instalar el cliente de Git en el equipo local.
- Instalar un editor de texto como Visual Studio Code. (Puede usar bloc de notas)
Es necesario descargar este repositorio de forma local, para poder usar los archivos de ejemplo que representan los requisitos para integrar y ejecutar esta practica.
| Archivo | Descripción |
|---|---|
| index.html | Linea base, versión inicial del proyecto. |
| feature-body.txt | Archivo que contiene la solución del requisito del body, este se debe agregar en el archivo index.html de la rama del feature/body |
| feature-footer.txt | Archivo que contiene la solución del requisito del footer, este se debe agregar en el archivo index.html de la rama del feature/footer |
Un proyecto de desarrollo tiene como objetivo realizar un lanzamiento de su sitio web, actualmente se encuentra en desarrollo y ya se tiene el header de la página, se tienen los dos siguientes requisitos para realizar el lanzamiento del producto mínimo viable (MVP).
- Desarrollo del body del sitio web.
- Desarrollo del footer del sitio web.
Configurar nombre y correo electrónico:
git config --global user.name "Nombre"
git config --global user.email correo@gmail.com
git config --listCrear un repositorio en GitHub llamado practica-devops
Se requiere llevar un control del código fuente con el modelo de gitflow, para lo cual se plantea la siguiente estructura inicial de branching:
- main -----> tag: v0.1
- develop
- feature/body
- feature/footer
- develop
git clone url_repogit checkout main
git tag v0.1
git push --tagsgit checkout -b develop
git push origin developgit checkout -b feature/bodyAgregar el contenido del archivo de texto feature-body.txt al archivo index.html debajo del header del html
git add .
git commit -m "Desarrollo terminado de body"
git push origin feature/bodygit checkout develop
git checkout -b feature/footerAgregar el contenido del archivo de texto del feature-footer.txt al archivo index.html debajo del body del html
git add .
git commit -m "Desarrollo terminado de footer"
git push origin feature/footerUna vez completado el desarrollo de los requisitos del proyecto se debe integrar a las ramas en el siguiente orden para pasar por un flujo de pruebas y finalmente su lanzamiento:
Eliminar ramas temporales feature una vez se integren.
- feature/body -----> delete
- feature/footer -----> delete
- develop
- release/mvp
- main -----> (No integrar, continué al siguiente paso)
- release/mvp
- develop
git checkout develop
git merge feature/body
git merge feature/footerSi genera error por el merge, resuelva el merge y luego ejecute los siguientes comandos integrar a develop
git add .
git commit -m "se resuelven conflictos de merge de feature a develop"
git push --set-upstream origin developgit push origin --delete feature/body
git push origin --delete feature/footergit branch -d feature/body
git branch -d feature/footergit checkout -b release/mvpEl equipo de pruebas encuentra un error en el ambiente de QA y debe cambiar el nombre del sitio web, el equipo de desarrollo debe solucionarlo aplicando el siguiente flujo:
Eliminar ramas temporales bugfix y release/mpv una vez se integren en el flujo completo.
- release/mvp -----> tag: v1.0-alpha
- bugfix/nombre-sitio
- develop
- release/mvp -----> tag: v1.0-alpha
- main -----> tag: v1.0
- bugfix/nombre-sitio
git checkout release/mvp
git checkout -b bugfix/nombre-sitioModificar el título en la siguiente sección del archivo index.html por DevOps Professional
<header>
<h2>Versionamiento de código con GitHub</h2>
</header>
git add .
git commit -m "Corrección de nombre"
git push origin bugfix/nombre-sitiogit checkout develop
git merge bugfix/nombre-sitiogit checkout release/mvp
git merge bugfix/nombre-sitiogit push origin --delete bugfix/nombre-sitiogit branch -d bugfix/nombre-sitiogit checkout release/mvp
git tag v1.0-alpha
git push --tagsgit checkout main
git merge release/mvp
git tag v1.0
git push --tagsFinalmente se cumple el flujo completo y se tiene productivo el desarrollo de los requisitos para el MVP.
NOTA: Para proyectos empresariales, se establecen políticas y restricciones para evitar la integración directa por linea de comandos a la rama main y develop, este proceso se realiza por medio de un pull request para revisar y aprobar los cambios.
- John Alexander Cruz - Versión Inicial - jhonalexander0809
