GithubActions 2022
De Wiki de EGC
Revisión del 09:00 11 oct 2022 de Ajramirez (discusión | contribuciones) (→Nociones básicas sobre GitHub Actions)
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 GitHub.
- Estos eventos puede ser desde un push hasta la creación de una issue. Cada workflow permite correr jobs.
- Los jobs son secuencias de pasos. Cada uno de estos jobs se ejecutan dentro de un entorno llamado runner.
- 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.
- 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].