Hasta hace no mucho cuando pensábamos en CI/CD y Github nos planteábamos tirar por Travis, Circle CI, o incluso Jenkins.
Hace unos meses que Github publicó Github Actions, una herramienta muy potente que nos permite definir nuestros flujos de integración y despliegue continuo.
En este webinar vamos a ver una introducción de la mano de Gisela Torres, que forma parte del equipo de docentes del Bootcamp Devops Online Lemoncode (https://lemoncode.net/bootcamp-devops#bootcamp-devops/inicio). )
Agenda:
¿Qué es Continuous Integration and Continuous Deployment?
Introducción a GitHub Actions
Crea tu primer workflow
Crea tu primera acción
Matrices
Los runners
2. GiselaTorres
Me llamo Gisela Torres y actualmente
trabajo en Microsoft como Cloud Solution
Architect.
Antes de eso trabajé como arquitecta de
software y desarrolladora de aplicaciones
en varias empresas. Durante esos años
tuve la suerte de ser premiada como Most
Valuable Professional en Microsoft
Azure.
6. GithubActions- piezas
Acciones
Actions/checkout@v1
Actions/setup-
node@v1
Workflow [Dev Env]
Job CI
Job CD
Checkout
repo
Setup
node
npm
install
npm
test
Checkout
repo
Docker
login
Docker
push
Un job agrupa un conjunto de steps (un
paso puede ser una acción o un comando)
Un job puede ser
dependiente de otro, o
podemos arrancarlos en
paralelo
Un workflow es un conjunto de jobs, que
se ejecutara según los eventos que se
definan (PR, Push a master…)
(…)
Una acción son sets de conjuntos de
comandos que cubren un área
determinada. Puedes tanto usar las
de Github, como de terceros o
hacerte la tuya propia
Runner
El runner se encarga de
ejecutar los jobs y
devolver el resultado
7. Runner–Githubhosted
Cloud
LAN
Nos lo da todo configurado GitHub
No tenemos que preocuparnos de mantenerlo
Hay tres S.O. disponibles Windows, MacOS y Ubuntu
(Linux)
Pagas por uso (minutos, dependiendo del plan tienes X
minutos gratis al mes)
No te vale si necesitas tener acceso a recursos en tu
LAN
Puede que no te valga si tu configuración es muy
específica
GitHub te ofrece Runners ya listos para consumir en la nube.
8. Runner–Selfhosted
Cloud
LAN
Al tenerlo en nuestra red local podemos acceder a
recursos propios y tenemos privacidad
Tenemos completa flexibilidad de configuración
No tenemos que preocuparnos por pagar por minutos
de CPU
Tienes que montar infraestructura propia
Tienes que configurarlo
Tienes que mantenerlo
GitHub nos la opción de tener los runners en local.
Es cierto que hace unos años, cuando desarrollabamos web, trabajamos de forma directa... es decir, tu tenías tus ficheros con tu html/php/jsp y tus js, y los subías tal cual a producción. INCLUSO MODIFICABAS ESOS FICHEROS EN PRODUCCION DIRECTAMENTE.
Es cierto que hace unos años, cuando desarrollabamos web, trabajamos de forma directa... es decir, tu tenías tus ficheros con tu html/php/jsp y tus js, y los subías tal cual a producción. INCLUSO MODIFICABAS ESOS FICHEROS EN PRODUCCION DIRECTAMENTE.
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?
¿ Por qué esta forma de trabajar no sigue siendo valida?