개요
워크플로 템플릿을 사용하면 워크플로를 만들 수 있는 권한이 있는 조직의 모든 사용자가 더 빠르고 쉽게 워크플로를 만들 수 있습니다. 새 워크플로를 만들 때 워크플로 템플릿을 선택할 수 있으며 워크플로 작성 작업의 일부 또는 전부가 해당 워크플로에 대해 수행됩니다. 워크플로 템플릿을 시작 위치로 사용하여 사용자 지정 워크플로를 빌드하거나 있는 그대로 사용할 수 있습니다. 이렇게 하면 시간을 절약할 뿐만 아니라 조직 전체에서 일관성과 모범 사례를 촉진할 수 있습니다.
GitHub은(는) 다음과 같은 상위 수준 범주에 즉시 사용할 수 있는 워크플로 템플릿을 제공합니다.
- 배포(CD). 자세한 내용은 "GitHub Actions를 사용한 지속적인 배포 정보"을(를) 참조하세요.
- 보안. 자세한 내용은 "코드 스캔을 위한 고급 설정 구성"을 참조하세요.
- CI(연속 통합). 자세한 내용은 "GitHub Actions를 사용한 연속 통합 정보"을(를) 참조하세요.
- 자동화. 자동화 워크플로 템플릿은 끌어오기 요청을 심사하고 끌어오기 요청에서 수정된 경로를 기반으로 레이블을 적용하거나 리포지토리에 처음 기여하는 사용자에게 인사말을 하는 등 워크플로를 자동화하기 위한 솔루션을 제공합니다.
Note
워크플로 템플릿에는 퍼블릭 .github
리포지토리가 필요하므로 Enterprise Managed Users에는 사용할 수 없습니다.
워크플로 템플릿 만들기
워크플로 템플릿은 조직의 퍼블릭 .github
리포지토리에 대한 쓰기 권한이 있는 사용자가 만들 수 있습니다. 그런 다음 워크플로를 만들 수 있는 권한이 있는 조직 구성원이 이를 사용할 수 있습니다.
사용자가 만든 워크플로 템플릿은 공용 리포지토리에서 워크플로를 만드는 데만 사용할 수 있습니다. GitHub Enterprise Cloud를 사용하는 조직은 워크플로 템플릿을 사용하여 프라이빗 리포지토리에 워크플로를 만들 수도 있습니다. 자세한 내용은 GitHub Enterprise Cloud 설명서를 참조하세요.
참고: 워크플로 템플릿 간에 중복을 방지하려면 워크플로 내에서 재사용 가능한 워크플로를 호출할 수 있습니다. 이렇게 하면 워크플로를 더 쉽게 유지 관리할 수 있습니다. 자세한 내용은 "워크플로 다시 사용" 항목을 참조하세요.
이 절차에서는 워크플로 템플릿 및 메타데이터 파일을 만드는 방법을 보여 줍니다. 메타데이터 파일은 새 워크플로를 만들 때 사용자에게 워크플로 템플릿이 표시되는 방식을 설명합니다.
-
아직 없는 경우 조직에서
.github
로 명명된 새 퍼블릭 리포지토리를 만듭니다. -
이름이
workflow-templates
인 하위 디렉터리를 만듭니다. -
workflow-templates
디렉터리 내에 새 워크플로 파일을 만듭니다.리포지토리의 기본 분기를 참조해야 하는 경우
$default-branch
자리 표시자를 사용할 수 있습니다. 워크플로가 생성될 때 자리 표시자는 리포지토리의 기본 분기 이름으로 자동으로 대체됩니다.예를 들어 이름이
octo-organization-ci.yml
로 지정된 이 파일은 기본 워크플로를 보여 줍니다.YAML name: Octo Organization CI on: push: branches: [ $default-branch ] pull_request: branches: [ $default-branch ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run a one-line script run: echo Hello from Octo Organization
name: Octo Organization CI on: push: branches: [ $default-branch ] pull_request: branches: [ $default-branch ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run a one-line script run: echo Hello from Octo Organization
-
workflow-templates
디렉터리 내에 메타데이터 파일을 만듭니다. 메타데이터 파일의 이름은 워크플로 파일과 동일해야 하지만.yml
확장명 대신.properties.json
을 추가해야 합니다. 예를 들어,octo-organization-ci.properties.json
이라는 이름의 이 파일에는 다음과 같이 워크플로 파일에 대한octo-organization-ci.yml
라는 이름의 메타데이터가 포함됩니다.JSON { "name": "Octo Organization Workflow", "description": "Octo Organization CI workflow template.", "iconName": "example-icon", "categories": [ "Go" ], "filePatterns": [ "package.json$", "^Dockerfile", ".*\\.md$" ] }
{ "name": "Octo Organization Workflow", "description": "Octo Organization CI workflow template.", "iconName": "example-icon", "categories": [ "Go" ], "filePatterns": [ "package.json$", "^Dockerfile", ".*\\.md$" ] }
-
name
- 필수입니다. 워크플로의 이름입니다. 사용 가능한 워크플로 목록에 표시됩니다. -
description
- 필수입니다. 워크플로 설명입니다. 사용 가능한 워크플로 목록에 표시됩니다. -
iconName
- 선택 사항. 워크플로 목록에 표시되는 워크플로의 아이콘을 지정합니다.iconName
은 다음 형식 중 하나일 수 있음:workflow-templates
디렉터리에 저장된 SVG 파일입니다. 파일을 참조하려면 파일 확장명 없이 파일 이름이 값이어야 합니다. 예를 들어,example-icon.svg
이라는 SVG 파일은example-icon
로 참조됩니다.- GitHub의 Octicons 집합의 아이콘입니다. 옥시콘을 참조하려면 값이
octicon <icon name>
여야 합니다. 예들 들어octicon smiley
입니다.
-
categories
- 선택 사항. 워크플로가 표시되는 범주를 정의합니다. 다음 목록에서 범주 이름을 사용할 수 있습니다.- 시작 워크플로 리포지토리의 일반 범주 이름입니다 .
- linguist 리포지토리에 있는 목록의 Linguist 언어입니다.
- starter-workflows 리포지토리의 목록에서 지원되는 기술 스택입니다.
-
filePatterns
- 선택 사항. 사용자 리포지토리의 루트 디렉터리에 정의된 정규식과 일치하는 파일이 있는 경우 워크플로를 사용할 수 있도록 합니다.
-
다른 워크플로 템플릿을 추가하려면 파일을 동일한 workflow-templates
디렉터리에 추가합니다.
다음 단계
GitHub Actions에 대해 계속 알아보려면 "워크플로 템플릿 사용" 항목을 참조하세요.