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 鈥渕anual/directa鈥 a los repositorios.

saludos
AM