0Pricing
DevOps Bootcamp · Lección

Actions personalizadas y Marketplace

Explore GitHub Actions Marketplace para encontrar actions prediseñadas y aprenda a crear sus propias actions personalizadas.

Actions personalizadas y Marketplace es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Descubra GitHub Actions Marketplace

¡Le damos la bienvenida a GitHub Actions Marketplace! Es un centro dinámico donde puede encontrar miles de acciones prediseñadas creadas por GitHub, colaboradores de código abierto y socios comerciales.

Estas acciones se pueden integrar fácilmente en sus flujos de trabajo, lo que le permite ahorrar tiempo y esfuerzo al reutilizar soluciones existentes para tareas habituales.

Cómo encontrar la acción adecuada

Explorar Marketplace es sencillo. Puede buscar acciones mediante palabras clave, filtrarlas por categoría, como «CI/CD» o «Despliegue», y ordenarlas por popularidad.

  • Busque acciones con una alta valoración en estrellas y mantenimiento activo.
  • Consulte la documentación de la acción para conocer las instrucciones de uso, las entradas y las salidas.
  • Revise cuántas veces se ha utilizado una acción en repositorios públicos como prueba de su aceptación.

Integración de una acción prediseñada

Usar una acción de Marketplace es sencillo. Se hace referencia a ella mediante la palabra clave uses en el YAML de su flujo de trabajo, seguida de owner/repo@version de la acción.

Un ejemplo habitual es actions/checkout, que descarga el código de su repositorio para que el flujo de trabajo pueda acceder a él.

name: Marketplace Demo
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Say hello
        run: echo "Hello from workflow!"

Entradas y salidas de las acciones

Muchas acciones aceptan entradas para personalizar su comportamiento, especificadas mediante la palabra clave with. También pueden generar salidas que otros pasos de su flujo de trabajo pueden utilizar.

Por ejemplo, la acción actions/setup-node puede recibir una entrada node-version.

name: Node Setup Demo
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Node.js 18.x
        uses: actions/setup-node@v3
        with:
          node-version: '18.x'
      - name: Install dependencies
        run: npm install

Cuándo crear su propia acción

Aunque Marketplace ofrece muchas opciones, a veces necesita algo específico. ¡Ahí es donde resultan útiles las acciones personalizadas!

Podría crear una acción personalizada para:

  • Automatizar herramientas internas de la empresa.
  • Integrarse con una API específica que no cubran las acciones existentes.
  • Realizar tareas muy especializadas propias del proceso de compilación de su proyecto.

Tipos de acciones personalizadas

Hay dos tipos principales de acciones personalizadas que puede crear:

  • Acciones de JavaScript: se ejecutan directamente en la máquina del ejecutor mediante Node.js. Suelen ser más rápidas de desarrollar y más fáciles de compartir.
  • Acciones de contenedor de Docker: se ejecutan dentro de un contenedor de Docker. Son ideales para encapsular entornos y dependencias y garantizar una ejecución coherente en distintos ejecutores.

Nos centraremos en las acciones de JavaScript para simplificar.

El archivo `action.yml`

Toda acción personalizada necesita un archivo action.yml. Este archivo define los metadatos de la acción, incluidos su nombre, descripción, las entradas que acepta, las salidas que produce y cómo se ejecuta.

Es como el manifiesto de su acción: indica a GitHub Actions todo lo que necesita saber.

name: 'My Custom Greeting Action'
description: 'Greets a person with a custom message.'
inputs:
  who-to-greet:
    description: 'Who to greet'
    required: true
    default: 'World'
outputs:
  time:
    description: 'The time we greeted you'
runs:
  using: 'node16'
  main: 'index.js'

Creación de una acción de JavaScript sencilla

Creemos una acción de JavaScript muy básica. Necesitará un archivo index.js, especificado en action.yml, y normalmente un archivo package.json para las dependencias.

El paquete @actions/core es esencial para interactuar con el flujo de trabajo, por ejemplo, para obtener entradas y establecer salidas.

const core = require('@actions/core');

async function run() {
  try {
    const nameToGreet = core.getInput('who-to-greet');
    console.log(`Hello ${nameToGreet}!`);

    const time = (new Date()).toTimeString();
    core.setOutput("time", time);

  } catch (error) {
    core.setFailed(error.message);
  }
}

run();

Integración de su acción personalizada

Para usar su acción personalizada, coloque sus archivos, como action.yml, index.js, etc., en un subdirectorio de su repositorio. Después, haga referencia a ella en su flujo de trabajo mediante una ruta relativa con uses: ./path/to/your/action.

Esto le permite probar la acción localmente antes de publicarla potencialmente en Marketplace.

name: Use Custom Action Demo
on: [push]
jobs:
  greet:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run my custom action
        uses: ./my-custom-action # Path to action directory
        with:
          who-to-greet: 'CoddyKit User'
      - name: Get the output time
        run: echo "The greeting time was ${{ steps.run-my-custom-action.outputs.time }}"

Componentes de una acción personalizada

Ha aprendido cuáles son los elementos clave para crear y usar acciones personalizadas de GitHub Actions. ¡Pongamos a prueba sus conocimientos!

Resumen: Marketplace y acciones personalizadas

¡Buen trabajo! Ha explorado el potencial tanto de GitHub Actions Marketplace como de las acciones personalizadas.

  • Marketplace ofrece una gran variedad de acciones listas para usar que agilizan sus flujos de trabajo.
  • Las acciones personalizadas le permiten ampliar GitHub Actions para satisfacer las necesidades específicas de sus proyectos u organización.

Al combinar ambas opciones, ¡puede crear canalizaciones de automatización increíblemente potentes y adaptadas a sus necesidades!

Preguntas frecuentes

¿La lección «Actions personalizadas y Marketplace» es gratis?

Sí — el texto completo de «Actions personalizadas y Marketplace» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Actions personalizadas y Marketplace»?

Explore GitHub Actions Marketplace para encontrar actions prediseñadas y aprenda a crear sus propias actions personalizadas. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Actions personalizadas y Marketplace»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Introducción a GitHub Actions
  2. Creación de workflows de CI/CD
  3. Actions personalizadas y Marketplace
  4. Secrets y variables de entorno en Actions
← Volver a DevOps Bootcamp