Introducci贸n

1

Lo que aprender谩s sobre DevOps con GitLab

2

驴Qu茅 es Devops?

3

El ciclo de vida del Devops

4

Introducci贸n a Gitlab

5

Gitlab vs Github

Administraci贸n

6

Autenticaci贸n

7

Grupos

8

Autorizaci贸n

9

Auditor铆a

10

Proyectos

Planificaci贸n

11

Tipos de desarrollo

12

Planificaci贸n en Gitlab-Issues

13

Planificaci贸n en Gitlab-Etiquetas

14

Planificaci贸n en Gitlab-Pesos

15

Planificaci贸n en Gitlab-Milestones

16

Planificaci贸n en Gitlab-Boards

17

Planificaci贸n en Gitlab-Service Desk

18

Planificaci贸n en Gitlab-Quick actions

Verificaci贸n

19

Inicializaci贸n del repositorio

20

Merge requests

21

Profundizando en Merge requests

22

Continuous Integration-CI

23

Gitlab CI

24

Automatizacion con GitLab Cl

25

Validacion de la configuracion con GitLab Cl

26

gitlab-ci.yml

27

Gitlab pages

28

Implementando Gitlab pages

29

驴Qu茅 es el Desarrollo 脕gil?

30

Gitlab autodevops

31

Implementando GitLab autodevops

32

Habilitando autodevops

Empaquetaci贸n

33

Gitlab container registry

34

Introducci贸n a contenedores

Seguridad

35

Introducci贸n a DevSecOps

36

Firmas de seguridad

37

Pruebas est谩ticas de seguridad

38

Escaneo de contenedores

39

Escaneo de dependencias

40

Pruebas din谩micas de seguridad

41

Gitlab security dashboard

Distribuci贸n

42

Continuous Delivery (CD)

43

Ambientes

44

Review apps

45

Estrategias de Distribuci贸n

46

Feature Flags

47

Rollback

Monitoreo

48

驴Por qu茅 monitorear?

49

M茅tricas de desempe帽o (performance metrics)

50

M茅tricas de salud (health metrics)

51

Metricas de equipo

52

Rastreo de errores

Conclusiones

53

驴Por qu茅 desarrollar con Gitlab?

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Habilitando autodevops

32/53
Recursos

Aportes 20

Preguntas 10

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Lastimosamente en los proyectos que he implementado el proceso DevSecOps no son proyectos p煤blicos ni tienen una suscripci贸n Gold en Gtilab por lo que toca hacer todas las implementaciones desde cero. Recomiendo usar herramientas (gratuitas) como:

An谩lisis de dependencias: OWASP Depedency Check
SAST: ShiftLeft Scan, Sonarcloud
DAST: OWASP ZAP
An谩lisis de infraestructura de contenedores: Clair
Performance: JMeter
Pruebas funcionales automatizadas: Cypress

estas me han funcionado muy bien para tecnolog铆as JAVA, NetCore y Angular.

Para los que esten utilizando AWS y tengan problemas en colocar el 鈥淏ase Domain鈥:

  • Asumiendo que tienen un dominio llamado 鈥midominio.com鈥: En Route53 crear una entrada de tipo CNAME apuntando a la direcci贸n que devolvi贸 Ingress. Ej.: *.eks.midominio.com
  • Colocar 鈥eks.midominio.com鈥 como el base domain.

Ahora es una opci贸n premium as铆 que ya no lo genera 馃槙 . Helm tambi茅n fue retirado. Muy desactualizado el curso.

No me quedo muy claro c贸mo donde quedo la especificaci贸n del pipeline si no tenemos un .gitlab-ci.yml en este proyecto.

En el caso de tener todo una ambiente por rama, como es el caso de las bases de datos donde para probar cierto feature debo tener alguna data pre poblada en la base de datos, se puede en alg煤n lado pre establecer un set de datos o como se maneja?

Se puede aplicar en cualquier proyecto, desde un basico, hasta uno empresarial

Yo imagino un sistema ERP basado en la nube donde los upgrades de funcionalidad y la reparaci贸n de eventuales bugs pueda realizarse r谩pidamente.

Considero e imagino que este tipo de metodolog铆a, buenas pr谩cticas, habilidades, etc, en la actualidad son mucho muy utilizadas en el 谩mbito de desarrollo del aplicaciones m贸viles, puesto que cada pipeline que se realice despu茅s de todo el proceso de actualizaci贸n, atenci贸n de issues, tests, QA, entre otros elementos, el deploy a producci贸n lo asocio a una actualizaci贸n de la app hacia el usuario. Es increible todo lo que en la actualidad la industria de tecnolog铆a puede hacer. Saludos desde M茅xico. Si estoy diciendo algo incorrecto por favor les agradecer茅 me corrigieran para seguir aprendiendo.

En mi caso queremos implementar DevOps dentro de la empresa para corregir y prevenir problemas y agilizar las entregas por lo que nos viene bien para todos los proyectos activos que tenemos

Tengo una aplicaci贸n con las siguientes caracteristicas

  • backend php
  • fronted con framework extjs no compilado, servido en estado plano
  • login que redirecciona a la pagina de la aplicaci贸n

De igual manera es viable integrarla con autodevops?

Para cambios de infraestructura, networking vlans, vpn ,provisioning de VM con VMware, y una app que estoy desarrollando personalmente.

Bueno la curiosidad me mata, pero creo que se puede hacer, si estoy utlizando VMware con varias VM, podria hacer un cluster de kubertes para conectarlo directo a este ambiente, aunque la integracion con Gitlab no va a hacer nada facil 馃槂

Buena clase! pero tengo una duda, es posible que a traves de autodevops pueda modificar y/o realizar steps dentro de alg煤n archivo de configuraci贸n como el gitlab-ci.yml ?

En el caso de seguir el enfoque TDD (Test Driven Development) lo correcto habr铆a sido modificar primero el Test y luego la implementaci贸n.

es posible habilitar autodevops usando como mi cluster swarm?

tengo este error 驴Puedo suponer que tiene que ver con el .gitlab-ci.yml?

Si al ejecutar el pipeline, muestra error relacionado a Node.js, debe incoporar en la engines secci贸n de su package.json la versi贸n de Node.js
{
鈥渘ame鈥: 鈥渕yapp鈥,
鈥渄escription鈥: 鈥渁 really cool app鈥,
鈥渧ersion鈥: 鈥1.0.0鈥,
鈥渆ngines鈥: {
鈥渘ode鈥: 鈥12.13.0鈥
}
}

Se ve muy interesante el autodevops.

En mi pipeline solo me aparecen 3 Stages:
Build (passed), Test {code_quality, container_scanning, dependency_scanning, license_management, sast, test} (passed) y Dast ( ! allowed to fail)

En el 3er Stage (que es el ultimo) me sale este error:
$ export DAST_WEBSITE=${DAST_WEBSITE:-$(cat environment_url.txt)}
cat: environment_url.txt: No such file or directory

驴Para solucionarlo tendr铆a que meterme al contenedor?
Gracias

A mi no me ha funcionando exactamente a la clase, pero cacharreando un poco lo he logrado, esto lo hace interesante.
Seguramente el comportamiento no es igual en todos los casos