{"meta":{"title":"타사 CLI 작업 만들기","intro":"GitHub Actions 러너에서 CLI를 설정하는 액션을 개발하는 방법을 알아봅니다.","product":"GitHub Actions","breadcrumbs":[{"href":"/ko/actions","title":"GitHub Actions"},{"href":"/ko/actions/how-tos","title":"사용법"},{"href":"/ko/actions/how-tos/create-and-publish-actions","title":"작업 만들기 및 게시"},{"href":"/ko/actions/how-tos/create-and-publish-actions/create-a-cli-action","title":"CLI 작업 만들기"}],"documentType":"article"},"body":"# 타사 CLI 작업 만들기\n\nGitHub Actions 러너에서 CLI를 설정하는 액션을 개발하는 방법을 알아봅니다.\n\n## 소개\n\n사용자가 GitHub Actions 실행기에서 구성된 CLI 환경을 통해 서버에 액세스할 수 있도록 하는 액션을 작성할 수 있습니다.\n\n조치는 다음을 수행해야 합니다.\n\n* 사용자가 설치할 CLI 버전을 간단하게 지정할 수 있도록 합니다.\n* 여러 운영 체제를 지원합니다.\n* 효율적인 방식으로 실행하여 런타임 및 관련 비용을 최소화합니다.\n* GitHub-호스팅된 실행기 및 자체 호스팅 실행기 전반에서 작업\n* 가능하면 커뮤니티 도구를 활용합니다.\n\n이 문서에서는 CLI의 특정 버전을 검색하고, 설치하고, 경로에 추가하고, (선택적으로) 캐시하는 작업을 작성하는 방법을 보여줍니다. 이러한 유형의 작업(도구를 설정하는 작업)은 종종 `setup-$TOOL`라고 명명됩니다.\n\n## 필수 조건\n\n사용자 지정 작업을 작성하는 방법을 이해하고 있어야 합니다. 자세한 내용은 [사용자 지정 작업 관리](/ko/actions/how-tos/create-and-publish-actions/manage-custom-actions)을(를) 참조하세요.\n\n## 예시\n\n다음 스크립트는 사용자 지정 버전을 입력으로 가져와서 특정 버전의 CLI를 다운로드 및 추출한 다음, 경로에 CLI를 추가하는 방법을 보여줍니다.\n\nGitHub 는 작업을 만드는 데 도움이 되는 패키지 집합인 을 제공합니다 [`actions/toolkit`](https://github.com/actions/toolkit). 이 예시에서는 [`actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) 및 [`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\n이 스크립트를 사용하려면 `getDownloadURL`을 CLI를 다운로드하는 함수로 바꿉니다. 또한 `action.yml` 입력을 허용하고 이 스크립트를 실행하는 작업 메타데이터 파일(`version`)을 만들어야 합니다. 작업을 만드는 방법에 대한 자세한 내용은 [JavaScript 작업 만들기](/ko/actions/tutorials/create-actions/create-a-javascript-action)을(를) 참조하세요.\n\n## 추가 참고 자료\n\n이 패턴은 여러 작업에 사용됩니다. 자세한 내용은 다음을 참조하세요.\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)"}