Skip to content

GitHub & GitHub Actions

Con GitHub gestionas un repositorio Git en la nube. En relaidad se trata de una red social de código que conecta desarrolladores y equipos para proyectos personales y privados.

Se presenta en esta guía ágil los primeros pasos para crear nuestro repositorio en la nube y otras características que se logran con GitHub.

Primeros Pasos con GitHub

Creando un repositorio remoto

  1. Se debe crear un cuenta en la plataforma GitHub o contar con una previamente creada.
  2. Luego inicias sesión con tu usuario para proceder a crear un repositorio.
  3. Buscamos en nuestra página de GitHub el botón new para crear un nuevo repositorio.
  4. Asignamos un nombre al nuevo respositorio y le indicamos que cree el repositorio con el botón respectivo.

Ahora bien, si hacemos un proyecto desde cero con Git se requiere también lo siguiente:

bash
mkdir project
cd project
echo "# My Project" >> README.md
echo "console.log('Hi there');" >> app.js
git init
git add README.md app.js
git commit -m "Initial stage"
git branch -M main
git remote add origin https://github.com/user/example.git
git push -u origin main

project se refiere a la carpeta asignada al proyecto y puede tener el nombre deseado.
Se inicia un repositorio local con Git, se agregan los archivos iniciales (README.md, app.js) y se hace commit. Luego se establece la rama principal.
git remote add origin es el comando que asocia el repositorio remoto.
git push -u origin main envía los cambios al repositorio remoto. La primera vez nos puede solicitar autorización. Si observamos la página del repositorio en GitHub ha cambiado.

Integración Continua con GitHub-Actions (CI)

GitHub Actions nos permite hacer flujos de trabajo para la integración continua, es decir, que una vez se hace una actualización es posible realizar otras tareas como el despliegue a una plataforma destino, o aquellas acciones que se requieran para la gestión continua del producto de software.

Para hacer un ejemplo práctico, continuaremos con el proyecto anterior haciendo algunos ajustes. Para ello crearemos la ruta .github/workflows y un archivo con extensión yml.

bash
mkdir .github
mkdir .github/workflows
touch .github/workflows/integration.yml

touch es un comando que no encuentras en Windows, salvo que uses una terminal de Git bash o un entorno semejante.

Veamos la estructura esencial del proyecto:

  • 📂 project
 ├─ .git  
 ├─ .github  
 │⋅⋅⋅└─ workflows  
 │⋅⋅⋅⋅⋅⋅└─ integration.yml  
 ├─ app.js  
 └─ README.md

Veamos ahora el contenido para el archivo integration.yml (podría tambien llamarse deployment.yml) que utiliza una convención YAML...

yaml
name: CI with Node.js

on:
  push:
    branches: [ main ]

jobs:
  ci_to_main:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 12
      - run: node app.js

Guardamos este archivo y ejecutamos los comandos de Git respectivos:

bash
git add .
git commit -m "First steps with GitHub Actions"
git push -u origin main

En cuanto se hace push se dispara el flujo de ejecución de los pasos

En general, GitHub Actions propone un esquema que parte del repositorio con un flujo que se dispara dado un evento para: workflows -> jobs -> steps -> runners (semejante a agentes).


© 2021 by César Arcila