Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Acerca de acciones

Acciones de GitHub te permite crear flujos de trabajo de ciclo de vida (SDLC) de software personalizados directamente en tu repositorio GitHub.

Acciones de GitHub is available with GitHub gratis, GitHub Pro, Equipo de GitHub, and Nube de GitHub Enterprise. Para obtener más información, consulta "Productos de GitHub."

En este artículo

Acerca de acciones

Puedes crear acciones escribiendo un código personalizado que interactúe con tu repositorio de la manera que desees, incluida la integración con las API de GitHub y cualquier API de terceros disponible públicamente. Por ejemplo, una acción puede publicar módulos npm, enviar alertas por SMS cuando se crean propuestas urgentes o implementar un código listo para producción.

Puedes escribir tus propias acciones para usar en tu flujo de trabajo o compartir las acciones que crees con la comunidad de GitHub. Para compartir las acciones que creaste, tu repositorio debe ser público.

Las acciones se ejecutan en un entorno virtual o contenedor Docker. Puedes definir las entradas, las salidas y las variables de entorno de una acción.

Tipos de acciones

Puedes crear acciones de contenedor Docker y JavaScript. Las acciones requieren un archivo de metadatos para definir las entradas, salidas y puntos de entrada para tu acción. El nombre del archivo de metadatos debe ser action.yml.

Tipo Entorno virtual
Contenedor Docker Linux
JavaScript Linux, MacOS, Windows

Acciones del contenedor Docker

Los contenedores Docker empaquetan el entorno con el código Acciones de GitHub. Esto crea una unidad de trabajo más consistente y confiable, ya que el consumidor de la acción no necesita preocuparse por las herramientas o las dependencias. Las acciones del contenedor Docker solo se pueden ejecutar en el entorno Linux alojado en GitHub.

Un contenedor Docker te permite usar versiones específicas de un sistema operativo, dependencias, herramientas y código. Para las acciones que se deben ejecutar en una configuración de entorno específica, Docker es una opción ideal porque puedes personalizar el sistema operativo y las herramientas. Debido a la latencia para crear y recuperar el contenedor, las acciones del contenedor Docker son más lentas que las acciones de JavaScript.

Debes incluir un archivo de configuración Acciones de GitHub para proporcionar metadatos sobre la acción.

Acciones de JavaScript

Las acciones de JavaScript se pueden ejecutar directamente en cualquiera de las máquinas virtuales alojadas en GitHub y separar el código de acción del entorno utilizado para ejecutar el código. El uso de una acción de JavaScript simplifica el código de acción y se ejecuta más rápido que una acción de contenedor Docker.

Las acciones de JavaScript requieren un archivo de configuración Acciones de GitHub para proporcionar metadatos sobre la acción.

Elegir una ubicación para tu acción

Si estás desarrollando una acción para que otras personas la utilicen, te recomendamos mantener la acción en su propio repositorio en lugar de agruparla con otro código de aplicación. Esto te permite versionar, rastrear y lanzar la acción como cualquier otro software.

Con el almacenamiento de una acción en su propio repositorio es más fácil para la comunidad de GitHub descubrir la acción, reduce el alcance de la base de código para que los desarrolladores solucionen problemas y extiendan la acción, y desacopla el control de versiones de otro código de aplicación.

Si estás creando una acción que no planeas poner a disposición del público, puedes almacenar los archivos de la acción en cualquier ubicación de tu repositorio. Si tienes la intención de combinar la acción, el flujo de trabajo y el código de aplicación en un único repositorio, es recomendable que almacenes las acciones en el directorio .github. Por ejemplo, .github/actions/action-a y .github/actions/action-b.

Versiones de tu acción

Los flujos de trabajo pueden hacer referencia a versiones específicas de acciones utilizando un SHA, una rama o una etiqueta de confirmación.

pasos:    
  - usa: actions/setup-node@74bc508 # Referencia a una confirmación específica
  - usa: actions/setup-node@v1.0    # Referencia a la versión principal de un lanzamiento   
  - usa: actions/setup-node@master  # Referencia a una rama

GitHub recomienda el uso de versiones semánticas al crear acciones para ofrecer a las personas una experiencia estable. Para obtener más información, consulta "Versiones semánticas".

  1. Crear un lanzamiento con versiones semánticas (v1.0.9). Para obtener más información, consulta Crear lanzamientos".
  2. Mover la etiqueta de la versión principal (v1, v2, etc.) para apuntar a la ref de Git del lanzamiento actual. Para obtener más información, consulta Conceptos básicos de Git: etiquetas".
  3. Introducir una nueva etiqueta de versión principal (v2) si se trata de cambios importantes que romperán los flujos de trabajo existentes. Por ejemplo, un cambio importante será cambiar las entradas de una acción.

Crear un archivo README para tu acción

Si tienes la intención de compartir públicamente tu acción, te recomendamos crear un archivo README para ayudar a las personas a que aprendan a usar tu acción. Puedes incluir esta información en tu README.md:

  • Una descripción detallada de lo que hace la acción.
  • Argumentos necesarios de entrada y salida.
  • Argumentos opcionales de entrada y salida.
  • Secretos que utiliza la acción.
  • Variables de entorno que utiliza la acción.
  • Un ejemplo de cómo usar tu acción en un flujo de trabajo.

Comparing Acciones de GitHub to GitHub Apps

Mercado GitHub offers tools to improve your workflow. Understanding the differences and the benefits of each tool will allow you to select the best tool for your job. For more information about building actions and apps, see "About GitHub Actions" and "About apps" in la documentación del programador de GitHub.

Strengths of GitHub Actions and GitHub Apps

While both Acciones de GitHub and App GitHubs provide ways to build automation and workflow tools, they each have strengths that make them useful in different ways.

GitHub Apps:

  • Run persistently and can react to events quickly.
  • Work great when persistent data is needed.
  • Work best with API requests that aren't time consuming.
  • Run on a server or compute infrastructure that you provide.

Acciones de GitHub:

  • Provide automation that can perform continuous integration and continuous deployment.
  • Can run directly on a virtual machine or in Docker containers.
  • Can include access to a clone of your repository, enabling deployment and publishing tools, code formatters, and command line tools to access your code.
  • Don't require you to deploy code or serve an app.
  • Have a simple interface to create and use secrets, which enables actions to interact with third-party services without needing to store the credentials of the person using the action.

Leer más

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos