KEMBAR78
GitHub Codespacescon .NET Core | PPTX
GitHub Codespaces
Luis Fraile
@lfraile
2022
Sponsors
#netcoreconf
#netcoreconf
¿GitHub Codespaces?
Entornos de desarrollo en la nube!!
Configuration-as-Code
(devcontainer)
Basado en
Contenedores
VS Code
https://github.com/features/codespaces
https://github.blog/2021-08-11-githubs-engineering-team-moved-codespaces/
Agenda #netcoreconf
Hands-On
#netcoreconf
Configuración del Codespace
Se basa todo en el contenedor
Se aplica imagen base Docker
Pero: fichero devcontainer.json
Instalación de tools
Comandos de inicialización
Environment variables
Plantillas adicionales de GitHub
Documentación algo escasa …
https://code.visualstudio.com/docs/remote/devcontainerjson-reference
https://github.com/microsoft/vscode-dev-containers
#netcoreconf
Codespaces: Monorepo
Múltiples configuraciones en un único repo
Separados en diferentes directorios
Podemos seleccionar la configuración en la
creación
#netcoreconf
Codespaces: Multirepo
Por defecto sólo hay permisos en el propio
repo
En devcontainer.json podemos configurar
permisos adicionales
Se autorizan los permisos en la creación del
Codespace
Pueden ser a varios niveles y a varios repos
Agenda #netcoreconf
Hands-On
#netcoreconf
Ejecución de la app
Se ejecuta dentro del contenedor
Tenemos acceso a el resto de herramientas configuradas
Port forwarding
Permite exponer puertos al exterior
Públicos y privados (para el usuario)
Se definen en configuración
Se hace el forward automático al ejecutar algo
Y por supuesto: soporta depuración (puntos de ruptura,
etc.)
Agenda #netcoreconf
Hands-On
#netcoreconf
Mejorando el rendimiento
La creación de un Codespace puede ser
“lenta”
Se pueden mejorar con las prebuilds
Se generan mediante GitHub Actions
Se definen a nivel de:
Rama (no disponible para configs
monorepo)
Región
Disparador de generación
Agenda #netcoreconf
Hands-On
#netcoreconf
Let’s talk about money and politics policies
Control a nivel de políticas de
organización
Usuarios que pueden usarlo
Límites de tamaño de máquinas
Posibilidad de ajustar el límite
de gasto
Agenda #netcoreconf
Hands-On
Agenda #netcoreconf
Questions &
Answers
http://aka.ms/ghcs-roadmap
http://aka.ms/ghcs-feedback
Sponsors
#netcoreconf
More information:
info@netcoreconf.com
@Netcoreconf
Visit on:
netcoreconf.com

GitHub Codespacescon .NET Core

Notas del editor

  • #5 Crear contenedor básico Hablar de tamaños Probar a ejecutar la app Mostrar Docker-compose up
  • #9 Creación deficheros de devcontainer Explicar Revisar plantillas https://github.com/microsoft/vscode-dev-containers Enseñar personalización Comandos de inicialización Contenedores Conexión con otros repos Ver permisos Generación de varias carpetas de devcontainer Rebuild de contenedor Mostrar en local "customizations": {         "codespaces": {             "repositories": {                 "lfraileorg/github-runners": {                     "permissions": {                         "contents": "write"                     }                 }             }         }     },
  • #11 Ejecutar la app Enseñar tema de puertos Configuraciones de perfiles y variables de entorno Convertir a public
  • #13 Enseñar el action de configuración Generación de prebuild Creación de contenedor de un prebuild
  • #15 - Ir por las políticas