Índice de Contenidos

GITHUB EN EL AULA

Un Curso OCW de la ULL


                 

Edición en la Nube

Hay múltiples formas de editar en la nube un repositorio GitHub. Recogemos aquí estos:

  1. Editar directamente usando el editor on-line de GitHub
  2. Usar el editor GitHub.dev: simplemente tecleando el punto cuando se está visitando el repo
  3. Usar GitPod
  4. Usar Codespaces (si se dispone de este servicio)

Editor on-line de GitHub

Véase

Editing with GitHub.dev Editor

Period in a repo

From any repo or pull request, developers can simply press the period (.) key to bring up the browser-based VS Code environment with the source code file ready for editing.

Substitute github by github.dev in a GitHub URL

That dot press to bring up the web-based editor takes you to https://github.dev/, so the same one-press . functionality can be duplicated just by changing a URL from “github.com” to “github.dev”.

See also:

CodeSpaces

Codespaces es un servicio de GH que provee el mismo entorno de desarrollo que VSCode en la nube de GH.

Personalización

Si quieres personalizar tu Codespace, puedes leer Personalizing GitHub Codespaces for your account.Puedes personalizar GitHub Codespaces usando un repositorio dotfiles en GitHub o usando Settings Sync.

To speed up codespace creation, you can configure your project to prebuild codespaces for specific branches in specific regions. You create and configure prebuilds in your repository’s settings.

See the documentation at codespaces/prebuilding-your-codespaces.

A prebuild assembles the main components of a codespace for a particular combination of repository, branch, and devcontainer.json configuration file. It provides a quick way to create a new codespace. For complex and/or large repositories in particular, you can create a new codespace more quickly by using a prebuild. Whenever you push changes to your repository, GitHub Codespaces uses GitHub Actions to automatically update your prebuilds.

GitPod

Gitpod is an open source platform for automated and ready-to-code development environments that blends into your existing workflow. It enables developers to describe their dev environment as code and start instant and fresh development environments for each new task directly from your browser.

Aprendiendo GitPod

Configure Gitpod

Botón GitPod

Para tener el botón GitPod instala la correspondiente extensión en Chrome o Firefox

Open GitPod in your local VSCode

En el menú de arriba a la izquierda elige la opción “Open in VS Code”:

Tienes que instalar la extensión GitPod the VSCode y darle los permisos. A partir de ese momento puedes editar con tu VSCode local en el contenedor de GitPod.

See it running in my local machine, after the VSCode has been opened:

Observe the output in the terminal. We are running on the GitPod docker container

¡Ojo! tu VSCode local está compartiendo el GitPod Workspace. Cualquier modificación que hagas en el VSCode local se refleja en el GitPod Workspace en la nube y viceversa.

GitPod Sharing

See Sharing Running Workspaces

Básicamente: en gitpod.io/workspaces en los tres puntitos elegimos la opción compartir. Luego compartimos la URL del ws con la otra persona.

A fecha de hoy, no muestra los cursores de los participantes.

Snapshots

Gitpod lets you create reproducible examples for any programming environment and any size of project. These are Snapshots.

Sustainable Node.js development with only a browser

See the article

Sustainable Node.js development with only a browser

GitPod: Oferta para Estudiantes

Oferta Plan Personal (2021) Profesores

En esta URL https://gitpod.io/plans se puede solicitar un upgrade al plan “personal”  que permite acceder a repositorios privados si eres un miembro de una comunidad educativa. No he tenido que introducir tarjetas.

Importante: Cuando rellenes la solicitud ¡El campo VAT déjalo vacío!

Lo que pasa (Abril 2021) es que GitPod está siendo ofertado como parte del GitHub teachers’ toolbox. Por tanto, si tienes actualizado tu GitHub Toolbox, creo que tanto los profesores como los alumnos tienen acceso a repos privados y a la nube proveída por GitPod.

teacher-coupon

Está limitada a 100 horas de uso por mes:

Ejemplo: Jekyll Blog

En el ejemplo se ve los apuntes de PL (un repo público usando Jekyll) siendo editado con VSCode:

apuntes-pl-gitpod

todo funciona bien.

Con este plan es posible acceder a repos privados.

Autorizando GitPod a Acceder a Nuestros repos

En el repo en GitHub aparece el nuevo botón verde con etiqueta “GitPod”. Obsérvese que el repo es privado:

boton-gitpod-en-repo-privado

Cuando le damos al botón “GitPod” por primera vez es posible que nos salga un mensaje de error:

autorizar-gitpod-a-organizacion.png 8-horas-100-euros

Le damos los permisos adecuados:

gitpos-request-permissions

Pulsamos Grant sobre la organización a la que le queremos dar acceso:

grant-access

y ya podemos editar nuestros repos privados.

También podemos ir directamente en cualquier momento a la rl https://github.com/settings/applications y cambiar nuestros permisos.

Drawbacks according to Pattacini

Gitpod is fantastic but comes with some constraints that may affect yours and your students’ work:

Obviously, you’d need to learn how to deal with Docker files and do some preliminary tests on your side. Getting accustomed to Docker might take some time :hourglass_flowing_sand:

In a Gitpod workspace, the user has no sudo credentials. This is understandable and represents good practice, but sometimes it’d be convenient to install packages straight away from the console without the burden of adjusting the Dockerfile once more.

Pero en otro post posterior (Feb 25 2021) comenta:

Just wanted to tell you that Gipod has been growing up tremendously as well as awesomely and, among the latest advancements it provides, we have now root access

Gitpod is free only for public GitHub repositories. This is ok for public assignments but could be a hitch for private ones. An easy workaround could be to ask students to clone their private repositories only after the workspace is ready.

Esto se resuelve como he comentado

There’s the threshold of 100 hours/month per user. Quite reasonable, but much depends on your classroom payload. When you share a running workspace, you’ll share also your access to GitHub, which might not be desirable! This is a serious inconvenient during remote technical interviews, for example.

Finally, don’t expect to have quantum computers available from free Cloud IDE’s services. After all, there’s a trade-off and resources are limited (e.g. no GPU), even though Gitpod seems quite generous in this sense.

Docker Images

Si la imagen por defecto no se adapta a lo que quieres puedes configurarla

Véase Docker in Gitpod

Self Hosted

Gitpod, just as you know it from gitpod.io, can be deployed and operated on your own infrastructure. It supports different

You can find all configuration templates and installation scripts in the Gitpod repository:

https://github.com/gitpod-io/gitpod

If you already have a Kubernetes cluster, or don’t want/cannot use AWS or GCP, please follow the generic guide:

Referencias sobre GitPod

Tus Comentarios

Creative Commons License
All the work in this pages (including PDFs authored by us) is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.