Skip to content

Commit 80f4e86

Browse files
author
NeisserMS
committed
modulo administración 30%
1 parent 5735768 commit 80f4e86

File tree

4 files changed

+123
-0
lines changed

4 files changed

+123
-0
lines changed

Gitlab/gitlab.md

+123
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
## ¿Qué es DevOps?
2+
Si escribes código, eres también responsable que corra en producción.
3+
4+
- Desarrollador: Escribe el código con las reglas de negocio, se encarga de la seguridad dentro del código, empaquetar el código.
5+
- Operaciones. Configuración de servidores, redes para que el software se ejecute sin problemas.
6+
- Alguien que practica DevOps, se encarga que el proceso de desarrollo y puesta en producción (operaciones), sea seguro, automatizado y de calidad.
7+
- Pruebas Automatizadas: Unit Test automatizadas que aseguren la calidad. (Test Drive Developer)
8+
- Continius Integration (CI): Asegurando que el código que se integre continuamente sea de calidad.
9+
- Continius Delivery (CD): nos da una estrategia para desplegar las aplicaciones continuamente y entregarlo.
10+
- Monitoreo y logging: para detectar problemas oportunamente.
11+
- Microservicios: separar las funcionalidades de las aplicaciones de servicios independientes.
12+
- Colaboración y comunicación continúa.
13+
14+
## El ciclo de vida de DevOps
15+
16+
Herramientas que se puede utilizar:
17+
18+
![DevOps](img/devops.png)
19+
20+
![DevOps](img/devops_platzi.png)
21+
22+
Ciclo DevOps. Infinity Loop, Mejora Continua.
23+
24+
- Planificación: Definimos los requerimientos, usamos issues, boards.
25+
- Desarrollo o crear: Escribir código, uso de repositorios.
26+
- Verificación: Pruebas Automatizadas, definimos las reglas para que el software se de calidad.
27+
- Empaquetado: Compilación de código para la puesta a producción, usamos contenedores.
28+
- Despliegue o Release: Nuevas versiones, CD, puesta a producción.
29+
- Configuración: Realizar los cambios para que la aplicación se ejecute correctamente.
30+
- Monitoreo: Verificar la performance de la aplicación.
31+
Mientras desarrollamos debemos de asegurar nuestra aplicación y cuando ya se encuentra en producción debemos defender.
32+
33+
#### Beneficios DevOps
34+
35+
- Velocidad: entregas rápidas, automatización.
36+
- Rápida distribución: CD, cambios diarios
37+
- Confiabilidad: Por la automatización de procesos
38+
- Escala: Podemos escalar nuestra infraestructura
39+
- Colaboración: mejora de procesos
40+
- Seguridad: a través de pruebas automatizadas.
41+
42+
## ¿Qué es Gitlab?
43+
44+
![DevOps](img/gitlab.png)
45+
46+
Gitlab no tiene oficinas. Es Open Source.
47+
48+
Es un producto especializado en el ciclo de vida de devops. Nos dá todas las herramientas para asegurar el ciclo de vida devops.
49+
50+
Está compuesto por:
51+
52+
- Manage: opciones de autenticación, autorización, analytics.
53+
54+
- Plan: issues, milestones, opciones de colaboración dentro de GitLab. especializado en el desarrollo agil.
55+
56+
- Create: crear proyectos y grupos, repositorios de grupos, merge requests, integración y automatización.
57+
58+
- Verify: pruebas automatizadas, calidad del codigo, review apps, code coverage. (Todo esto a través de GitLab CI).
59+
60+
- Package: nos permite empaquetar nuestro código. (Container REgistry, paquetes privados - NPM y Maven)
61+
62+
- Distribution (Release): Distribuir el codigo de manera agil.
63+
64+
- Configuración: auto devops, integración con kubernetes,
65+
66+
- Monitoreo: gitlab se apoya de 3 proyectos open source para visualizar performance, salud y tracing de la plataforma junto con sus errores: prometheus, jaeger, sentry
67+
68+
- Secure: cuando desarrollamos código exponemos vulnerabilidades, gitlab no ayuda con los lectores de ataque.
69+
70+
- Defense: No solo aseguramos el código, tambien lo defendemos con gitlab (firewalls).
71+
72+
## Módulo de Administración
73+
74+
### Autenticación
75+
Existen muchas formas de autenticarse:
76+
- Username/Password (loginm)
77+
- 2FA (OTP y FIDO U2F)
78+
- SSH key (Push Code)
79+
80+
### Grupos
81+
82+
Permiten compartir recursos entre varios miembros del equipo y poder organizar la forma en que trabajamos; permiten:
83+
84+
- Agrupar proyectos
85+
- Otorgar permisos de acceso
86+
- Compartir recursos
87+
88+
También se les conoce como subgrupos, permiten modelar la forma en la que nuestra compañia está diseñada (osea sus áreas o equipos), por ejemplo un grupo de devs, administrativos o ejecutivos. El hecho de que creemos grupos es para establecer reglas de seguridad para que otros grupos por ejemplo no visualicen lo que no les pertenece.
89+
90+
Los grupos se utilizan en GitLab a traves de "NAMESPACES", lo que nos dará una url única para usuario, nombre de grupo y/o subgrupos.
91+
92+
Nombres reservados para los grupos, las palabras reservadas son: https://docs.gitlab.com/ee/user/reserved_names.html
93+
94+
Hay palabras reservadas que no pueden tener los grupos, como: commits, create, files, new, wikis, etc.
95+
96+
##### Tipos de visibilidad
97+
98+
- Pública: cualquier usuario puede ver los contenidos de ese grupo
99+
- Interna: adentro de la instancia de GitLab (usuarios logueados) pueden tener acceso a ese grupo.
100+
- Privada: Proyectos y grupos sean accesibles a traves de los permisos que se asignan en GitLab.
101+
102+
##### Autorización
103+
Permisos de Grupo
104+
- Guest: solo Lectura.
105+
- Reporter: pueder abrir y comentar issue, no puede añadir código (no puede hacer push).
106+
- Developer: Subir código, acceso a issue, branches, etc, pero no puedes añadir miembros o configurar el proyecto.
107+
- Owner / Maintainer: Puede realizar configuraciones del proyecto + Dev. (Owner → creador del proyecto. Maintainer → no creador del proyecto)
108+
109+
##### Auditoria
110+
Poder tener un rastro de auditoría que podremos usar en caso de que haya algo sucedido mal, y un log se crea por ejemplo, si agregamos un usuario al subgrupo, eliminamos, etc. Te da una información detallada, la fecha y hora, quien lo hizo, etc. Es necesario tener un plan para poder hacer uso de este privilegio.
111+
112+
Gitlab nos permite registrar rastro de auditoria sobre el Grupo, proyecto o instancia (y muchos más)
113+
114+
Existe un rastro de auditoría el cual va evolucionando y nos provee de puntos de datos.
115+
116+
Todos los cambios quedan auditados sin posibilidad de modificarlos. De esta manera se puede determinar la causa del problema.
117+
118+
###### Proyectos
119+
Los proyectos tienen 3 componentes fundamentales:
120+
- Issue tracker: es especifico para equipos que desarrollan software y que trabajan de manera agil, por lo tanto encontraremos dentro conceptos de pesos, estimados de tiempos, sprints, etc.
121+
- Code repository: es el lugar que nos permiten almacenar y compartir el código fuente.
122+
- Gitlab CI: es la integración continua que aplica el equipo.
123+

Gitlab/img/devops.png

143 KB
Loading

Gitlab/img/devops_platzi.png

129 KB
Loading

Gitlab/img/gitlab.png

223 KB
Loading

0 commit comments

Comments
 (0)