Trabajo 1 GitHub - Matias Caceres, Diego Cancino, Yasmin Rayo, Javiera Riquelme
Trabajo 1 GitHub - Matias Caceres, Diego Cancino, Yasmin Rayo, Javiera Riquelme
Trabajo 1 GitHub - Matias Caceres, Diego Cancino, Yasmin Rayo, Javiera Riquelme
Trabajo 1
Aseguramiento de calidad de servicio
Docente: Daniel Hormazabal
Elaborado por Matías Cáceres R. - Yasmin Rayo V. - Javiera Riquelme G.
Fecha: 19 noviembre 2022
Tabla de contenido
Introducción.......................................................................................................................................3
Introducción a Integración Continua..................................................................................................4
Descripción de Proveedores de GitHub..............................................................................................4
GitHub................................................................................................................................................4
Funciones que tiene GitHub:..............................................................................................................5
Ventajas de GitHub:...........................................................................................................................5
Tecnología y Arquitectura..................................................................................................................5
GitHub Action.....................................................................................................................................5
Acerca de la integración continua mediante GitHub Actions.............................................................6
Guía de Git.........................................................................................................................................7
Extra: Conexión de Git con GitHub...................................................................................................10
Guia de Github.................................................................................................................................12
GitHub: Creación de repositorios........................................................................................15
GitHub: Añadir colaboradores (para repositorios privados)................................................17
GitHub: Aceptar colaboración.............................................................................................19
GitHub: Crear un Flujo de trabajo.......................................................................................22
GitHub: Revisar flujos de trabajo.........................................................................................24
Acerca de los flujos de trabajo iniciales............................................................................................26
Conclusión........................................................................................................................................27
Bibliografía.......................................................................................................................................28
Introducción
GitHub es un servicio basado en la nube que aloja un sistema de control de versiones (VCS)
llamado Git. Éste permite a los desarrolladores colaborar y realizar cambios en proyectos
compartidos, a la vez que mantienen un seguimiento detallado de su progreso.
A continuación, se presenta una serie de imágenes con su respectiva información que permite a
cualquier usuario poder instalar git y utilizar Github. Con esto se busca que la interacción con el
servicio sea entendida por quienes la desean utilizar. Además de entregar variada información
como la integración continua o indagar más sobre GitHub y sus funciones.
Este informe incluye funciones como la instalación de git, o en Github acciones como creación de
repositorios, invitar a colaboradores o crear nuevas ramas.
La integración continua (IC) es una práctica de software que requiere enviar frecuentemente el
código a un repositorio compartido. Al confirmar el código más a menudo se detectan antes los
errores y se reduce la cantidad de código que un desarrollador necesita depurar para encontrar el
origen de un error. Las actualizaciones frecuentes de código también facilitan la fusión de los
cambios realizados por diferentes miembros de un equipo de desarrollo de software. Esto es
genial para los desarrolladores, que pueden pasar más tiempo escribiendo código y menos tiempo
depurando errores o resolviendo conflictos de fusión.
Cuando envías código a tu repositorio, puedes construir y probar continuamente el código para
asegurarte de que el envío no introduce errores. Sus pruebas pueden incluir linters de código (que
comprueban el formato de estilo), comprobaciones de seguridad, cobertura de código, pruebas
funcionales y otras comprobaciones personalizadas.
Construir y probar el código requiere un servidor. Se puede construir y probar las actualizaciones
localmente antes de empujar el código a un repositorio, o se puede utilizar un servidor de
integración continua que busque nuevas confirmaciones de código en un repositorio.
El 4 de junio de 2018, Microsoft compró GitHub por la cantidad de 7500 millones de dólares.
GitHub
GitHub es una interfaz web para colaborar con otros desde la nube y que utiliza el sistema de
control de versiones Git para publicar proyectos, guardar el mismo, sus cambios, y cada una de sus
versiones. GitHub es conocida como la red social del código y gracias a su gran popularidad se le
puede dar uso como una hoja de vida que demuestra el conocimiento de cada usuario.
GitHub es un sitio web que ofrece un servicio gratuito para almacenar repositorios. Proporciona
una interfaz gráfica fácil de comprender y manejar, con la que los programadores pueden
administrar su código.
Funciones que tiene GitHub:
Controlar las versiones de tus proyectos
Compartir código con otras personas
Trabajar en equipo
Tener un portafolio de trabajo
Tener soporte de proyectos privados
Ventajas de GitHub:
● Acceso a los repositorios desde cualquier equipo, porque están almacenados en la nube.
● Su interfaz permite tener acceso rápido a tus repositorios.
● Se integra con Git.
● Facilita el manejo y la integración de los cambios que hace cada programador del equipo.
● Es gratuito.
● Cuentas con el apoyo de toda la comunidad que utiliza esta herramienta constantemente,
por lo que tus dudas pueden ser resueltas con rapidez.
Tecnología y Arquitectura
La tecnología de GitHub está basada en el sistema de control de versiones Git cuyo software fué
escrito en el framework de aplicaciones web de código abierto llamado Ruby on Rails.
La tecnología detrás de GitHub, permite que varios programadores puedan trabajar en un mismo
proyecto, creando un espacio centralizado donde todos los cambios aprobados pueden pasar a
formar parte del código original.
La mayoría de las características de GitHub funcionan sin importar en qué lenguaje está escrito el
código.
Flujo de trabajo: El repositorio local está compuesto por tres "árboles" administrados por git. El
primero es el Directorio de trabajo que contiene los archivos, el segundo es el Index que actúa
como una zona intermedia, y el último es el HEAD que apunta al último commit realizado.
Ramas: Las ramas son utilizadas para desarrollar funcionalidades aisladas unas de otras. La rama
master es la rama "por defecto" cuando creas un repositorio. Se pueden crear nuevas ramas
durante el desarrollo y fusionarlas a la rama principal cuando se termine.
GitHub Action
GitHub Actions es una herramienta que permite reducir la cadena de acciones necesaria para la
ejecución de código, mediante la creación de un flujo de trabajo encargado del Pipeline. Siendo
configurable para que GitHub reaccione a ciertos eventos de forma automática según nuestras
preferencias.
Por lo tanto, GitHub Actions permite crear workflows que se puedan utilizar para compilar, testear
y desplegar código. Además, da la posibilidad de crear flujos de integración y despliegue continuo
dentro de nuestro repositorio.
Dato extra: La ventaja principal de Github Actions es que está integrado directamente a Github y
puedes ejecutar tareas automatizadas cuando ocurren eventos en tus repositorios (p.e. al hacer
push, al dejar un comentario, al abrir un PR, eliminar un issue, etc.)
La integración continua mediante acciones de GitHub ofrece flujos de trabajo que pueden
construir el código en tu repositorio y ejecutar tus pruebas. Los flujos de trabajo pueden
ejecutarse en máquinas virtuales alojadas en GitHub o en máquinas alojadas por ti.
Puedes configurar tu flujo de trabajo de CI para que se ejecute cuando se produzca un evento de
GitHub (por ejemplo, cuando se empuje nuevo código a tu repositorio), en un horario establecido,
o cuando se produzca un evento externo utilizando el webhook de envío del repositorio.
GitHub ejecuta sus pruebas de CI y proporciona los resultados de cada prueba en el pull request,
para que pueda ver si el cambio en su rama introduce un error. Cuando todas las pruebas de CI en
un flujo de trabajo pasan, los cambios que has empujado están listos para ser revisados por un
miembro del equipo o fusionados. Cuando una prueba falla, uno de sus cambios puede haber
causado el fallo.
1.0
1.1
En ella (imagen 1.0) hacer click en windows (si es el caso) para ver sus versiones clic en “64-bit Git
for Windows Setup” para iniciar la descarga (imagen 1.1)
1.2
Una vez descargado el archivo lo ejecutan como administrador y se abrirá la pestaña que ve en la
imagen 1.2
1.3
Desde ahora en adelante seleccione next hasta llegar a la pestaña que se visualiza en la imagen 1.3
Se iniciará y ahora solo queda esperar y hacer click en “Finish” como se muestra en la imagen 1.5
y si se quiere ejecutar el programa, marcar la casilla “Launch Git Bash”
1.5
Extra: Conexión de Git con GitHub
En este caso nos encontramos en la terminal de Visual Studio Code, para poder realizar la
conexión siga los siguientes pasos. Anote los siguientes comando en la terminal:
1) Git init
2) Git config user.email "ingresa tu correo"
3) Git config user.name "ingresa tu nombre de usuario"
4) Git status (para que veas el estado)
5) Git add .
6) Git status (para que veas el estado)
7) Git commit -m'Ingresa un mensaje'
8) Git log
9) Git remote add origin https://github.com/ (pegar el link que se muestra en la imagen 5.3)
10) Git branch
11) Git push origin master
2.0
Al ingresar a la página encontraremos el inicio en donde nos da la opción de registrarse
2.1
Ingresamos los datos que se solicitan
2.2
Ingresamos el código que nos envían al correo utilizado
2.3
Seleccionamos las características que se ajusten a nuestras necesidades de trabajo
2.5
3.1
3.2
Bajamos y presionamos en crear repositorio. El repositorio quedará creado y listo para utilizar.
4. GitHub: Añadir colaboradores (para repositorios privados)
4.1
4.2
Cuando se abra la pestaña que se observa en la imagen 4.2, debemos buscar al colaborador que
deseamos agregar, en este caso “etienerayo1” y presionamos en agregar al repositorio.
4.3
5.0
En la sección de notificaciones en el costado superior izquierdo “Campana” podremos encontrar la
invitación para poder unirnos a un repositorio
5.1
Al abrir la notificación encontramos la opción de aceptar la invitación o declinarla
5.2
Luego de aceptar la invitación podremos acceder al repositorio en donde encontraremos los
archivos y en code podemos ver el https para poder configurar git y acceder a diferentes funciones
5.3
y en code podemos ver el https para poder configurar git y acceder a diferentes funciones
5.4
Aca podemos ver otro repositorio vacío en donde podemos ver inmediatamente el https
6. GitHub: Crear un Flujo de trabajo.
6.1
6.2
En este paso podemos configurar un flujo de trabajo o seleccionar uno de los sugeridos para el
repositorio. Para esta guía utilizaremos uno de los sugeridos, y seleccionaremos configurar.
6.3
6.4
7.1
7.2
Seleccionamos el flujo creado y se verá lo que se observa en la imagen 7.2. En este caso se ve una
advertencia y el build aparece correctamente.
7.3
Al seleccionarlo se ve la imagen 7.3. Aquí observamos que está todo correcto. En caso contrario
aparecerán “X” y nos indicará el error.
Acerca de los flujos de trabajo iniciales
GitHub ofrece flujos de trabajo iniciales para diversos lenguajes y herramientas. Cuando configuras
flujos de trabajo en tu repositorio, GitHub analiza el código en tu repositorio y recomienda flujos
de trabajo con base en el lenguaje y marco de trabajo de este. Por ejemplo, si usas Node.js, GitHub
sugerirá un archivo de flujo de trabajo de inicio que instale los paquetes de Node.js y ejecute tus
pruebas. Puedes buscar y filtrar para encontrar los flujos de trabajo de inicio pertinentes.
GitHub proporciona flujos de trabajo de inicio listos para usar para las siguientes categorías
generales:
-Integración continua (CI) . Para más información, vea "Acerca de la integración continua".
-También puedes crear tu propio flujo de trabajo inicial para compartirlo con tu organización.
Estos flujos de trabajo iniciales se mostrarán junto con los que proporciona GitHub. Para obtener
más información, consulte "Creación de flujos de trabajo de inicio para la organización".
Conclusión
Hoy en día GitHub es el mayor host de código público conocida como la red social del código y es
prácticamente como la hoja de vida y conocimientos de cada usuario, y, gracias a sus distintas
funciones como la creación de flujo de trabajo, el registro de los cambios realizados dentro de tu
proyecto hace que nos sea más fácil aplicar la práctica de integración continua.
Útil cuando existen errores, puesto que, gracias a su funcionamiento de sistema de control de
versiones, nos permite identificar dónde, cuándo, y quién cometió el error y resolverlo de manera
sencilla.
Al investigar e indagar más sobre esta herramienta pudimos entender con mayor detalle lo visto
teóricamente durante las clases. La importancia de mantener un constante control de las
versiones del trabajo que se está desarrollando y permitir trabajar en equipo, es lo que hace de
GitHub una herramienta tan importante para nosotros.
Como reflexión personal de equipo y al haber realizado algún trabajo que implican código y
equipo, GitHub facilita mucho más la interacción, ya que en otras ocasiones lo habíamos hecho
mediante Zoom y que solo un integrante era quien editaba el código, aumentando la probabilidad
de tener errores e incrementado un recurso tan importante como lo es el tiempo.
Muchas veces como estudiantes nos sucede que solucionamos un error del código y luego nos
damos cuenta de que surgió otro o que simplemente estaba bien lo anterior, para ese caso GitHub
nos brinda un punto de retorno para poder volver al estado en el que estaba todo correcto.
Bibliografía
● https://open-bootcamp.com/aprender-programar/github
● https://git-scm.com/
● https://github.com/
● https://aws.amazon.com/es/devops/continuous-integration/
● https://www.hostgator.mx/blog/github-proyectos-desarrollo-web/
● https://docs.github.com/es/actions/examples/using-scripts-to-test-your-code-on-a-runner
● https://docs.github.com/es/actions/automating-builds-and-tests/about-continuous-
integration
● https://docs.github.com/es/actions/using-workflows/using-starter-workflows
●