No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de GitHub Actions

Curso de GitHub Actions

Juan José Torres

Juan José Torres

Creando tu primer workflow file con GitHub Actions

4/18
Recursos

El primer desafío de este curso es crear un script básico que simplemente imprima "Hola mundo" en tu lenguaje de programación favorito. Por ejemplo, si te encanta Python, podrías escribir algo tan simple como un print('Hola mundo').

Si prefieres JavaScript, puede ser un console.log('Hola mundo'). Si eres usuario de Java, puedes usar System.out.println('Hola mundo');. La idea aquí es que uses el lenguaje con el que te sientas más cómodo.

¿Cómo crear un archivo de workflow en GitHub Actions?

Una vez que tienes tu script listo, el siguiente paso es crear un archivo de flujo de trabajo. Este archivo se utiliza para que GitHub Actions reconozca y ejecute su script correctamente.

Deberías crear un archivo llamado hola-mundo.yml. Luego, tu archivo de flujo de trabajo deberá simplemente ejecutar tu script de "Hola Mundo".

El archivo de workflow puede ser tan simple como asignar un nombre, crear un trabajo, asignar el tipo de runner que utilizará este trabajo y tener solo dos pasos. Primero, haz un "checkout" del repositorio para tenerlo listo en el runner, luego corre el archivo que creaste en el primer paso.

¿Cómo puede usar la plantilla pública proporcionada para iniciar tu primer GitHub Action?

El uso de la plantilla proporcionada es sencillo. Una vez que estés en el repositorio de la plantilla, puedes hacer clic derecho en el botón "Use this template" y elegir dónde quieres copiar la plantilla a tu repositorio personal.

Asegúrate de dejar el repositorio como público para que no incurras en ningún costo para usar GitHub Actions.

¿Cómo puedes comenzar a trabajar con la plantilla?

Tras copiar la plantilla, puedes comenzar a trabajar con ella. La plantilla incluye una serie de workflows y actions que puedes usar como base para crear la tuya propia. Cada una de las acciones está diseñada para ayudarte a entender las diferentes formas de utilizar GitHub Actions y para facilitar tu tarea de creación de tu primer archivo de flujo de trabajo.

Recuerda, la práctica lleva a la perfección, así que no dudes en experimentar y jugar con las diferentes configuraciones y opciones disponibles en GitHub Actions. ¡Buena suerte!

Aportes 11

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

JS

name: hola-mundo #Nombre del workflow
on: [push] #evento que lo activará
jobs: #Definición de los jobs
  hola-mundo: #Nombre del job
    runs-on: ubuntu-latest #Maquina en la que correrá
    steps: #Lista de steps del job hola-mundo
      - name: Public IP #Nombre del step
        id: ip #identificador usable dentro del job para otros steps
        uses: haythem/[email protected] #Usará el action haythem/public-ip
      - name: Hola mundo #Segundo step de nombre Hola mundo
        run: echo ¡Hola Mundo desde ${{ steps.ip.outputs.ipv4 }}! #bash
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
      - name: Run index
        run: node index.js

name: hola-mundo #Nombre del workflow
on: [push] #evento que lo activará
jobs: #Definición de los jobs
  hola-mundo: #Nombre del job
    runs-on: ubuntu-latest #Maquina en la que correrá
    steps: #Lista de steps del job hola-mundo
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
      - name: Run index
        run: node index.js

Java

on: [push]
jobs:
  setup-java:
    runs-on: ubuntu-latest
    steps: 
      - name: Setup Java JDK
        uses: actions/[email protected]
        with: 
          distribution: oracle
          java-version: 17
          java-package: jdk
  run-java:
    runs-on: ubuntu-latest
    steps: 
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Compile and run Java Code
        run: |
          javac Entrada.java
          java Entrada
        
a alguien mas le aparece la seccion de recursos vacia?
Un ejemplo usando python: ```python on: push: branches: - 'main' jobs: build-python: runs-on: ubuntu-latest steps: - name: checkout-repo uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: Print Hello World run: python hello-world.py ```![](https://drive.google.com/file/d/1RPGeYfz5G7gfCGVE3ApQnOg9S6oH0hXE/view?usp=drivesdk)
![](<Descargas/Captura de pantalla 2023-09-25 181642.png>)

para python

name: Python application

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Set up Python 3.10
      uses: actions/setup-python@v3
      with:
        python-version: "3.10"

    - name: script-runing
      run: python hello_world.py

Reto 1 en Python

YML:

name: hola-mundo #Nombre del workflow
on: [push] #evento que lo activará
jobs:
  hola-mundo: #Nombre del job
    runs-on: ubuntu-latest #Imagen en la que correrá
    steps: #Lista de steps del job hola-mundo
      - name: CheckoutV3  #Nombre del 1er step
        uses: actions/checkout@v3 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it

      - name: Correr Script #Nombre del 2er step
        run: python hola-mundo.py #Comando que se va ejecutar

PY:

TITULO_CURSO = 'Curso Github Actions'

print("¡Hola, estoy aprendiendo GitHub Actions!")
print(TITULO_CURSO)

En el branch aprendiendo-github-actions:

#hello_world.py
def hello_world():
	print("Hello World")

if __name__ == '__main__':
	hello_world()
#On /.github/workflows
#hola-mundo.yml
name: hola-mundo 
on:
  push:
    branches: [ "aprendiendo-github-actions" ]
jobs:
  hola-mundo:
    runs-on: ubuntu-latest
    steps:
      - name: Hola mundo
        run: python ../../hola_mundo.py #or just python hola_mundo.py

Al momento de crear el pull request no me parecieron de forma automática los cambios (aquellos hechos mediante la action) (minuto 7:52). No sé si a alguien más le pasó lo mismo.

Hola Juan

La clase se ve muy interesante, sin embargo no es claro cual es el proposito y el resultado de crear WF en cualquiera de los branches, creería que puede tener mas valor realizar estos commits desde un entorno de desarrollo como vs-code, ademas no es tan buena practica agregar código de forma “manual/directa” a los repositorios.

saludos
AM