Workflows personalizados utilizando

GitHub Actions

slides.com/manucastrillonm/github-actions

@manucastrillonm

>git checkout 2019

2018 - Microsoft buys GitHub
GitHub Package Registry
Unlimited private repos

✨2019

GitHub Sponsors
Security
mobile app
GitHub Archive Program
GitHub buys NPM

> git checkout 2019

GitHub CLI

✨2020

> git checkout 2019

  • Automated security fixes
  • New roles and permissions
  • Dependent repositories
  • Community contributors
  • Code review assignments
  • Code navigation
  • Code search
  • New notifications
  • Sponsored projects
  • GitHub arctic Code Vault

@manucastrillonm

> git checkout 2019

GitHub Actions

@manucastrillonm

Manu Castrillón

🚩GitHub Campus Expert

👩🏻‍💻Web Engineer - Huge inc

🤓Estudiante de ing. de sistemas - UdeA

💖Lider de comunidad

@manucastrillonm

GitHub Actions

 Nos permite automatizar workflows de trabajo desde el mismo lugar en el que el código está guardado (GitHub).

 

Responden a:

- Eventos programados

- Eventos externos

- Eventos del repositorio

@manucastrillonm

  • Fork
  • Creación o actualización de una página de Wiki

  • Issue (opened, edited, deleted, transferred, pinned, unpinned, closed, reopened, assigned, unassigned, labeled, unlabeled, locked, unlocked, milestoned, demilestoned)

  • Issue comment (created, edited, deleted)

  • label (created, edited, deleted)

  • Project (created, updated, closed, reopened, edited, deleted)

  • Pull request ( assigned, unassigned, labeled, unlabeled, opened, edited, closed, reopened)

Eventos del repositorio

 

  • Asignar reviewers.
  • Manejar ramas.
  • Hacer integración y despliegue continuo.
  • Publicar o actualizar paquetes de NPM.
  • Dar la bienvenida a nuevos contribuidores del proyecto.

 

Ejemplos de acciones

@manucastrillonm

Quienes pueden hacer uso de las acciones?

Todos!, su uso es  gratis para los repositorios públicos 🥳

@manucastrillonm

Que acciones puedo ejecutar?

Workflows preconfigurados de GitHub

@manucastrillonm

GitHub Marketplace

@manucastrillonm

Construir tu propia acción

GitHub provee un toolkit para construir tu propia acción 💪

https://github.com/actions/toolkit

@manucastrillonm

Donde se ejecutan las acciones?

GitHub-Hosted runners

  • Windows server 2019
  • Ubuntu 18.04
  • Ubuntu 16.04
  • macOS Catalina 10.15

 

Hardware:

  • 2 cores de CPU
  • 7 GB de memoria RAM
  • 14GB de SSD

@manucastrillonm

Self-Hosted runners

También podemos configurar nuestras propias máquinas, servidores o servicios cloud por los que ya paguemos y ejecutar en ellos los workflows.

@manucastrillonm

GitHub vs Self

Hosted runners

GitHub Hosted Self Hosted
Se actualizan automaticamente cada semana Podemos usar servicios cloud o maquinas locales por las que ya pagamos
Son manejados y mantenidos por GitHub Todo el hw, sw y requerimientos adicionales de seguridad son personalizables
Proveen una instancia limpia para la ejecución de cada trabajo No hay necesidad de una instancia limpia para la ejecución de cada trabajo
Tenemos minutos gratis disponibles dependiendo de nuestro plan de GitHub y luego pagamos por lo que consumimos Son gratis para el uso de GitHub Actions

Wrap Up

Action: serie de pasos que ejecutan una misma tarea

Step: Tarea individual

Son ejecutadas por

Comandos de consola

Job: Secuencia de steps ejecutados en el mismo runner

Workflow: Configuración de uno o mas trabajos que responden a un evento

@manucastrillonm

Ejemplo

GitHub Hackathon

Create an original action and win GitHub swag. From march 5th to 31th

https://githubhackathon.com/

June 27th 🎉

www.gitconf.co

http://www.github.com/gitconfco

 

Twitter: @gitconfco

Instagram: @gitconf_co

Thank You

GitHub Actions

By Manu Castrillón

GitHub Actions

  • 958