Trabajo 1 GitHub - Matias Caceres, Diego Cancino, Yasmin Rayo, Javiera Riquelme

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 28

Facultad de Economía y Negocios

Ingeniería Informática Empresarial

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

Actualmente la integración continua es un factor sumamente importante en las empresas y para


los desarrolladores, sin una sólida canalización de esta se puede formar una desconexión entre el
equipo de ingeniería y el resto de la organización. La comunicación entre producto e ingeniería
puede ser engorrosa.

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.

Para más información se puede ingresar al sitio https://docs.github.com/es o contactar a


cualquiera de los colaboradores del informe realizado.
Introducción a Integración Continua

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.

Descripción de Proveedores de GitHub


GitHub es el más antiguo de los servicios. Fue desarrollado por Chris Wanstrath, PJ Hyett, Tom
Preston-Werner y Scott Chacon usando Ruby on Rails en febrero de 2008. Debido a su ventaja de
ser el primero en moverse, GitHub se convirtió en la base de operaciones de muchos repositorios
de código fuente abierto.

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.)

Acerca de la integración continua mediante GitHub Actions

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.

Cuando configuras el CI en tu repositorio, GitHub analiza el código en tu repositorio y recomienda


flujos de trabajo de CI basados en el lenguaje y el marco de trabajo de tu repositorio. Por ejemplo,
si usas Node.js, GitHub te sugerirá un flujo de trabajo inicial que instale tus paquetes Node.js y
ejecuta tus pruebas. Puedes utilizar el flujo de trabajo inicial de CI sugerido por GitHub,
personalizar el flujo de trabajo inicial sugerido o crear tu propio archivo de flujo de trabajo
personalizado para ejecutar tus pruebas de CI.
Guía de Git
1. Git: Instalación

1.0

https://git-scm.com/downloads Primero hacer click en el enlace anterior lo cual abrirá la pestaña


observable en la imagen 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

Hacer click en install para iniciar la instalación


1.4

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

Otros comandos de Git:

● Git config --list : lista las configuraciones establecidas en el cliente.


● Git init : crea un nuevo repositorio de git
● Git status : muestra el estado del directorio donde se está trabajando
● Git add . : agregar los cambios de todos los archivos trabajados, si se reemplaza el punto
por el nombre de un archivo, solo se agregaran los cambios hechos en ese archivo.
● Git commit -m "first commit" : este comando captura una instantánea de los cambios
agregados con add hasta ese momento.
● Git remote add origin https://github.com/NOMBRE_USUARIO/NOMBRE_PROYECTO.git :
ata un repositorio local a un repositorio remoto en un servidor o proveedor como gitlab.
● Git branch : ver ramas locales.
● Git branch -r : ver ramas remotas.
● Git branch -a : ver todas las ramas remotas y locales.
● Git branch -d branch_to_delete : borrar una rama.
● Git checkout : cambiar de rama.
● Git checkout -b nombre_rama : crear una rama nueva y cambiarse a esta.
● Git push origin nombre_rama : subir cambios locales a una rama remota.
● Git push origin :nombre_rama : subir al repositroio remoto, el borrado de una rama en el
repositorio local .
● Git push origin nombre_rama --allow-unrelated-histories: subir cambios locales a una
rama remota, con un historial de cambios no relacionados.
● Git pull origin nombre_rama : jalar cambios remotos a una rama local.
● Git pull origin master --allow-unrelated-histories : descargar cambios remotos a una rama
local, con un historial de cambios no relacionados.
● Git merge otro_branch : mezclar cambios de otra rama a la rama en que se encuentra
actualmente el repositorio en el equipo.
● Git log : Lista los commits.
● Git reset --hard id_log || git reset HEAD fileA : en caso de necesitar deshacer cambios o
regresar el desarrollo a un commit o estado anterior en algún archivo.
● Git clone https://github.com/NOMBRE_USUARIO/NOMBRE_PROYECTO.git : clonar un
repositorio remoto a nuestra maquina local.
Guía de Github
2. GitHub: Instalación

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

Finalmente, se nos mostrará el dashboard en donde podremos trabajar


3. GitHub: Creación de repositorios

3.1

Entramos a nuestro perfil de GitHub y seleccionamos “repositorios” y presionamos en “nuevo”.

3.2

A continuación podremos observar en la pantalla lo que se ve en la imágen 3.2. Se completan los


campos de nombre de repositorio, podemos hacer una descripción y seleccionar si deseamos que
el proyecto sea público (cualquier persona puede verlo) o privado (sólo quienes invites).
3.3

Bajamos y presionamos en crear repositorio. El repositorio quedará creado y listo para utilizar.
4. GitHub: Añadir colaboradores (para repositorios privados)

4.1

En la sección de ajustes seleccionar “colaboradores”, y presionar en “añadir personas”

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

Se le enviará al colaborador la solicitud, mostrándose como en la imagen 4.3


5. GitHub: Aceptar colaboración

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

En la barra superior seleccionamos “Comportamiento” y se desplegará lo que vemos en la imagen


6.1 y nos iremos a “nuevo flujo de trabajo”.

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

Seleccionamos “iniciar compromiso” y agregamos un comentario (no obligatorio pero sugerido),


posteriormente seleccionamos “configurar nuevo archivo”.

6.4

Se observa en la imagen 6.4 como se verá luego de confirmar el nuevo archivo.


7. GitHub: Revisar flujos de trabajo

7.1

En “comportamiento” seleccionamos “todos los flujos de trabajo” y se verá el flujo creado.

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:

-Implementación (CD) . Para más información, vea "Acerca de la implementación continua". :


Seguridad. Para más información, vea "Establecimiento de code scanning mediante flujos de
trabajo de inicio".

-Integración continua (CI) . Para más información, vea "Acerca de la integración continua".

-Automatización. Los flujos de trabajo de inicio de automatización ofrecen soluciones para


automatizar flujos de trabajo, como evaluar las solicitudes de incorporación de cambios y aplicar
una etiqueta basada en las rutas modificadas en la solicitud de incorporación de cambios, o bien
saludar a los usuarios que colaboran por primera vez en el repositorio.

-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

También podría gustarte