11장. 사용자 지정 작업 만들기
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
GitHub 작업의 기반이 되는 코드는 매우 간단하거나 매우 복잡할 수 있습니다. 간단한 셸 스크립트부터 구현 코드, 테스트 케이스 및 워크플로 모음(테스트, 콘텐츠 유효성 검사 및 기타 CI/CD 작업용)에 이르기까지 다양합니다. 한동안 GitHub Actions를 사용하다 보면 어느 순간 자신만의 액션을 만들고 싶을 수도 있습니다. 다른 액션의 사용자 지정 버전을 제공하거나 전문화된 액션을 처음부터 새로 만들 수 있습니다.
시작하기 전에...
나만의 액션을 만들기 시작하기 전에 액션 마켓플레이스와 같은 장소를 검색하여 원하는 기능을 수행하는 액션이 이미 있는지 확인하는 것이 도움이 될 수 있습니다.
액션은 GitHub API를 호출하거나 표준 셸 단계를 실행하거나 사용자 지정 코드를 구현하여 기능을 제공할 수 있습니다. 또한 5장에서 설명한 대로 러너에서 직접 실행하거나 Docker 컨테이너에서 실행할 수 있습니다. 따라서 사용자 지정 액션을 만들 때 높은 수준의 유연성을 제공합니다.
이 장에서는 다음 주제를 통해 사용자 지정 동작을 만들고 작업하는 방법을 살펴봅니다:
- 액션의 구조 설명하기
- 작업 유형 논의하기
- 간단한 복합 액션 만들기
- Docker 컨테이너 액션 만들기
- JavaScript 액션 만들기
- 마켓플레이스에서 행동으로 옮기기
- GitHub 액션 툴킷으로 작업하기
- 현지 조치 논의
리포지토리를 액션으로 사용할 수 있게 하는 부분, 즉 인터페이스 파일을 정의하는 것부터 시작하겠습니다.
액션의 해부학
액션 마켓플레이스의 모든 액션을 살펴보면 몇 가지 공통된 특징을 발견할 수 있습니다.
- 모두 개별 GitHub 리포지토리에 있습니다.
- 각각 고유한 이름이 있습니다.
- 버전 식별자가 있습니다.
- README 파일이 있습니다.
- action.yml 또는 action.yaml 파일이 있습니다.
작업 파일 이름
action.yml 또는 action.yaml 중 하나가 유효합니다.
이러한 항목은 각 작업의 기능과 구현이 매우 다를 수 있지만 일관되게 존재합니다. 앞 목록의 처음 네 가지 항목은 대부분의 GitHub 리포지토리에서 표준으로 사용됩니다. 하지만 다섯 번째 항목은 리포지토리(및 리포지토리에 포함된 코드)를 동작으로 사용할 수 있게 만드는 요소입니다. 또한 워크플로우에서 사용할 수 있도록 동작의 인터페이스를 정의하는 핵심 파일이기도 합니다. 다른 장에서 간략하게 다루었지만 여기서는 사용자 지정 작업에 적합한 action.yml 파일을 만드는 방법을 이해할 수 있도록 더 자세히 살펴보겠습니다.
action.yml 파일은 작업의 입력, 출력 및 구성을 정의합니다. 구성 정보에는 기본 식별 정보(및 선택적 브랜딩 정보)가 포함됩니다. 또한 액션이 실행될 환경의 종류와 해당 환경에 대한 특수 설정에 대한 세부 정보도 포함됩니다. 잘 정의된 형식이 있습니다. 다음 목록에 ...