7장. 워크플로 내 데이터 관리
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
오늘날 하나의 작업이나 프로젝트로 모든 작업을 완료하는 경우는 드뭅니다. 일반적인 CI/CD 파이프라인을 생각해 보세요. 일반적으로 빌드를 수행하는 작업, 패키징을 위한 작업, 테스트를 위한 여러 작업 등이 있을 것입니다. 하지만 이러한 작업은 개별 작업이라 하더라도 데이터와 파일을 서로 전달할 수 있어야 합니다. 예를 들어 빌드 작업은 소스 코드에서 모듈을 생성한 다음 테스트하고 다른 모듈과 결합하여 고객을 위한 결과물로 만들어야 합니다. 또는 워크플로우의 작업이 설정 작업의 출력을 구성을 위한 입력 또는 종속성으로 사용할 수도 있습니다.
이러한 데이터 및 콘텐츠 전송을 수행하려면 개별 작업에서 중간 결과에 액세스할 수 있어야 합니다. 작업은 더 큰 프로세스가 실행되는 동안 다양한 입력, 출력 및 파일에 액세스할 수 있어야 합니다.
GitHub Actions는 워크플로우의 작업 및 단계 간에 입력과 출력을 캡처, 공유 및 액세스하기 위한 구문을 제공합니다. 또한 아티팩트라고 하는 중간 파일 또는 모듈을 관리하기 위한 기능도 제공합니다. 작업은 워크플로 실행 중에 생성된 아티팩트를 유지하는 기능을 제공합니다. 그러면 동일한 워크플로우 내의 작업에서 파이프라인의 프로젝트처럼 아티팩트에 액세스하여 사용할 수 있습니다.
액션은 콘텐츠 컬렉션을 캐시하여 향후 실행 속도를 높일 수 있는 기능도 제공합니다. 이 기능은 캐시 액션을 명시적으로 호출하거나 대부분의 경우 캐싱 기능이 내장된 설정 액션(예: setup-java)을 사용하여 제공할 수 있습니다.
이 장에서는 다음 섹션을 통해 워크플로에서 입력, 출력, 아티팩트 및 캐시를 관리하는 방법에 대해 자세히 안내합니다:
- 워크플로우에서 입력 및 출력으로 작업하기
- 아티팩트 정의
- 아티팩트 업로드 및 다운로드
- GitHub 작업에서 캐시 사용
먼저 입력과 출력을 탐색하는 방법에 대해 알아보세요.
워크플로우에서 입력 및 출력으로 작업하기
워크플로 내에서 워크플로 자체의 입력 또는 단계 간 또는 작업 간에 공유할 입력 및 출력에 액세스해야 할 수 있습니다. 이를 위해서는 숙지해야 할 구문이 있습니다. 값을 적절하게 캡처하고, 액세스하고, 참조를 해제하려면 이 구문이 필요합니다. 다음 섹션에서는 입력을 정의하고 참조하는 방법, 단계의 출력을 캡처하고 공유하는 방법, 작업의 출력을 캡처하고 공유하는 방법, 단계에서 호출된 작업에 대해 정의된 출력을 캡처하는 방법을 보여드리겠습니다.
워크플로 입력 정의 및 참조하기
여기서 입력이라는 용어는 사용자나 프로세스가 워크플로에 제공한 명시적 값을 의미합니다. 컨텍스트나 기본 환경 변수에서 가져온 값을 의미하지 않습니다.
입력이 명시적으로 정의된 경우에는 ${{ inputs.<입력-명> }} 구문으로 참조할 수 있습니다. 다음 목록은 서로 다른 두 종류의 트리거에 대해 제공된 입력에 액세스하는 작업의 예입니다(워크플로우_콜 ...