{"meta":{"title":"Crear una acción de CLI de terceros","intro":"Aprenda a desarrollar una acción para configurar la CLI en ejecutores de GitHub Actions.","product":"GitHub Actions","breadcrumbs":[{"href":"/es/actions","title":"GitHub Actions"},{"href":"/es/actions/how-tos","title":"Procedimientos"},{"href":"/es/actions/how-tos/create-and-publish-actions","title":"Creación y publicación de acciones"},{"href":"/es/actions/how-tos/create-and-publish-actions/create-a-cli-action","title":"Creación de una acción de la CLI"}],"documentType":"article"},"body":"# Crear una acción de CLI de terceros\n\nAprenda a desarrollar una acción para configurar la CLI en ejecutores de GitHub Actions.\n\n## Introducción\n\nPuede escribir una acción para ofrecer una forma de que los usuarios accedan a sus servidores mediante un entorno de CLI configurado en los ejecutores GitHub Actions.\n\nTu acción debería:\n\n* Facilitar que los usuarios especifiquen la versión del CLI a instalar\n* Ser compatible con sistemas operativos múltiples\n* Ejecutarse de manera eficiente para minimizar el tiempo de ejecución y los costos asociados.\n* Trabaje con ejecutores hospedados y autohospedados en GitHub\n* Apoyar las herramientas de la comunidad en medida de lo posible\n\nEste artículo te demostrará cómo escribir una acción que recupere una versión específica de tu CLI, la instale, la agregue a la ruta y la guarde en caché (opcionalmente). Este tipo de acción (una acción que configura una herramienta) a menudo se denomina `setup-$TOOL`.\n\n## Prerrequisitos\n\nDeberás de entender cómo escribir una acción personalizada. Para más información, consulta [Administración de acciones personalizadas](/es/actions/how-tos/create-and-publish-actions/manage-custom-actions).\n\n## Ejemplo\n\nEl siguiente script demuestra cómo puedes obtener una versión especificada por un usuario como entrada, descargar y extraer esta versión específica de tu CLI y luego agregar el CLI a la ruta.\n\nGitHub proporciona [`actions/toolkit`](https://github.com/actions/toolkit), que es un conjunto de paquetes que le ayuda a crear acciones. En este ejemplo se usan los paquetes [`actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) y [`actions/tool-cache`](https://github.com/actions/toolkit/tree/main/packages/tool-cache).\n\n```javascript copy\nconst core = require('@actions/core');\nconst tc = require('@actions/tool-cache');\n\nasync function setup() {\n  // Get version of tool to be installed\n  const version = core.getInput('version');\n\n  // Download the specific version of the tool, e.g. as a tarball\n  const pathToTarball = await tc.downloadTool(getDownloadURL());\n\n  // Extract the tarball onto the runner\n  const pathToCLI = await tc.extractTar(pathToTarball);\n\n  // Expose the tool by adding it to the PATH\n  core.addPath(pathToCLI)\n}\n\nmodule.exports = setup\n```\n\nPara usar este script, reemplace `getDownloadURL` por una función que descargue la CLI. También tendrá que crear un archivo de metadatos de acciones (`action.yml`) que acepte una entrada `version` y que ejecute este script. Para obtener información completa sobre cómo crear una acción, consulta [Creación de una acción de JavaScript](/es/actions/tutorials/create-actions/create-a-javascript-action).\n\n## Información adicional\n\nEste patrón se emplea en varias acciones. Para ver más ejemplos, consulta:\n\n* [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby)\n* [`google-github-actions/setup-gcloud`](https://github.com/google-github-actions/setup-gcloud)\n* [`hashicorp/setup-terraform`](https://github.com/hashicorp/setup-terraform)"}