소개
GitHub Actions 실행기에서 구성된 CLI 환경을 통해 사용자가 서버에 액세스할 수 있는 방법을 제공하는 작업을 작성할 수 있습니다.
작업은 다음을 수행해야 합니다.
- 사용자가 설치할 CLI 버전을 간단하게 지정할 수 있도록 합니다.
- 여러 운영 체제를 지원합니다.
- 효율적인 방식으로 실행하여 런타임 및 관련 비용을 최소화합니다.
- GitHub 호스트 및 자체 호스팅 러너에서 작업
- 가능하면 커뮤니티 도구를 활용합니다.
이 문서에서는 CLI의 특정 버전을 검색하고, 설치하고, 경로에 추가하고, (선택적으로) 캐시하는 작업을 작성하는 방법을 보여줍니다. 이러한 유형의 작업(도구를 설정하는 작업)은 종종 setup-$TOOL
라고 명명됩니다.
필수 조건
사용자 지정 작업을 작성하는 방법을 이해하고 있어야 합니다. 자세한 내용은 사용자 지정 작업 정보을(를) 참조하세요. 사용자 지정 작업을 작성하는 방법에 대한 자세한 가이드는 Creating a JavaScript action을(를) 참조하세요.
예시
다음 스크립트는 사용자 지정 버전을 입력으로 가져와서 특정 버전의 CLI를 다운로드 및 추출한 다음, 경로에 CLI를 추가하는 방법을 보여줍니다.
GitHub은(는) 작업을 만드는 데 도움이 되는 패키지 세트인 actions/toolkit
을 제공합니다. 이 예시에서는 actions/core
및 actions/tool-cache
패키지를 사용합니다.
const core = require('@actions/core'); const tc = require('@actions/tool-cache'); async function setup() { // Get version of tool to be installed const version = core.getInput('version'); // Download the specific version of the tool, e.g. as a tarball const pathToTarball = await tc.downloadTool(getDownloadURL()); // Extract the tarball onto the runner const pathToCLI = await tc.extractTar(pathToTarball); // Expose the tool by adding it to the PATH core.addPath(pathToCLI) } module.exports = setup
const core = require('@actions/core');
const tc = require('@actions/tool-cache');
async function setup() {
// Get version of tool to be installed
const version = core.getInput('version');
// Download the specific version of the tool, e.g. as a tarball
const pathToTarball = await tc.downloadTool(getDownloadURL());
// Extract the tarball onto the runner
const pathToCLI = await tc.extractTar(pathToTarball);
// Expose the tool by adding it to the PATH
core.addPath(pathToCLI)
}
module.exports = setup
이 스크립트를 사용하려면 getDownloadURL
을 CLI를 다운로드하는 함수로 바꿉니다. 또한 version
입력을 허용하고 이 스크립트를 실행하는 작업 메타데이터 파일(action.yml
)을 만들어야 합니다. 작업을 만드는 방법에 대한 자세한 내용은 Creating a JavaScript action을(를) 참조하세요.
추가 참고 자료
이 패턴은 여러 작업에 사용됩니다. 자세한 내용은 다음을 참조하세요.