GithubActions 2022

De Wiki de EGC
Revisión del 17:29 9 oct 2022 de Ajramirez (discusión | contribuciones) (Página creada con «== Nociones básicas sobre GitHub Actions== Dentro de cada .yml de la carpeta .github/worflows se define un: # '''workflow''' el cuál se dispara al recibir un evento de Gi...»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Nociones básicas sobre GitHub Actions

Dentro de cada .yml de la carpeta .github/worflows se define un:

  1. workflow el cuál se dispara al recibir un evento de GitHub.
  2. Estos eventos puede ser desde un push hasta la creación de una issue. Cada workflow permite correr jobs.
  3. Los 'jobs son secuencias de pasos. Cada uno de estos jobs se ejecutan dentro de un entorno llamado runner.
  4. Los runners son máquinas virtuales que se levantan para cada job. Todos los pasos de un job se ejecutan dentro del mismo runner, por lo que comparten recursos como los archivos y las carpetas.
  5. Los pasos de un job pueden ser simples instrucciones de shell, o utilizar funciones más concretas llamadas actions como, por ejemplo, hacer un clone.

El siguiente workflow tiene como nombre 'GitHub Actions Demo' y se dispara al hacer un push. Únicamente define un job llamado 'Explore-GitHub-Actions' dentro de un runner de tipo ubuntu-latest. Casi todos los pasos son de tipo shell salvo uno que utiliza la acción actions/checkout@v1.

name: GitHub Actions Demo
on: [push]
jobs:
  Explore-GitHub-Actions:
    runs-on: ubuntu-latest
    steps:
      - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
      - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
      - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
      - name: Check out repository code
        uses: actions/checkout@v1
      - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
      - run: echo "🖥️  The workflow is now ready to test your code on the runner."
      - name: List files in the repository
        run: |
          ls ${{ github.workspace }}
      - run: echo "🍏 This job's status is ${{ job.status }}."
      - name: Contains expresion in a step
        run: echo "Is this branch master or develop? ${{ contains('refs/heads/master refs/heads/develop',github.ref)}}"

Añade un archivo con este contenido a tu proyecto en GitHub y comprueba su estado en la pestaña Actions:

  • ¿Cuántos Worflows, jobs, steps se lanzan?
  • ¿Entiendes todo lo que hacen las expresiones ${{ <expresion> }}?

Para consultar la lista completa de expressiones, visita este [link].

Para consultar la lista completa de contextos (e.g., github.<>, job.<> o runner.<>), visita este otro [link].

Para consultar la lista completa de acciones, visita el [link].