Skip to main content

조직의 워크플로 템플릿 만들기

팀의 사용자가 새 워크플로를 더 쉽게 추가할 수 있도록 워크플로 템플릿을 만드는 방법을 알아봅니다.

개요

워크플로 템플릿을 사용하면 워크플로를 만들 수 있는 권한이 있는 조직의 모든 사용자가 더 빠르고 쉽게 워크플로를 만들 수 있습니다. 새 워크플로를 만들 때 워크플로 템플릿을 선택할 수 있으며 워크플로 작성 작업의 일부 또는 전부가 해당 워크플로에 대해 수행됩니다. 워크플로 템플릿을 시작 위치로 사용하여 사용자 지정 워크플로를 빌드하거나 있는 그대로 사용할 수 있습니다. 이렇게 하면 시간을 절약할 뿐만 아니라 조직 전체에서 일관성과 모범 사례를 촉진할 수 있습니다.

GitHub은(는) 다음과 같은 상위 수준 범주에 즉시 사용할 수 있는 워크플로 템플릿을 제공합니다.

  • CI(연속 통합). 자세한 내용은 "GitHub Actions를 사용한 연속 통합 정보"을(를) 참조하세요.
  • 자동화. 자동화 워크플로 템플릿은 끌어오기 요청을 심사하고 끌어오기 요청에서 수정된 경로를 기반으로 레이블을 적용하거나 리포지토리에 처음 기여하는 사용자에게 인사말을 하는 등 워크플로를 자동화하기 위한 솔루션을 제공합니다.

Note

워크플로 템플릿에는 퍼블릭 .github 리포지토리가 필요하므로 Enterprise Managed Users에는 사용할 수 없습니다.

워크플로 템플릿 만들기

워크플로 템플릿은 조직의 퍼블릭 .github 리포지토리에 대한 쓰기 권한이 있는 사용자가 만들 수 있습니다. 그런 다음 워크플로를 만들 수 있는 권한이 있는 조직 구성원이 이를 사용할 수 있습니다.

사용자가 만든 워크플로 템플릿은 공용 리포지토리에서 워크플로를 만드는 데만 사용할 수 있습니다. GitHub Enterprise Cloud를 사용하는 조직은 워크플로 템플릿을 사용하여 프라이빗 리포지토리에 워크플로를 만들 수도 있습니다. 자세한 내용은 GitHub Enterprise Cloud 설명서를 참조하세요.

Note

워크플로 템플릿 간에 중복을 방지하려면 워크플로 내에서 재사용 가능한 워크플로를 호출할 수 있습니다. 이렇게 하면 워크플로를 더 쉽게 유지 관리할 수 있습니다. 자세한 내용은 "워크플로 다시 사용"을(를) 참조하세요.

이 절차에서는 워크플로 템플릿 및 메타데이터 파일을 만드는 방법을 보여 줍니다. 메타데이터 파일은 새 워크플로를 만들 때 사용자에게 워크플로 템플릿이 표시되는 방식을 설명합니다.

  1. 아직 없는 경우 조직에서 .github로 명명된 새 퍼블릭 리포지토리를 만듭니다.

  2. 이름이 workflow-templates인 하위 디렉터리를 만듭니다.

  3. 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
    
  4. 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 - 필수입니다. 워크플로의 이름입니다. 사용 가능한 워크플로 목록에 표시됩니다.

    • description - 필수입니다. 워크플로 설명입니다. 사용 가능한 워크플로 목록에 표시됩니다.

    • iconName - 선택 사항. 워크플로 목록에 표시되는 워크플로의 아이콘을 지정합니다. iconName은 다음 형식 중 하나일 수 있음:

      • workflow-templates 디렉터리에 저장된 SVG 파일입니다. 파일을 참조하려면 파일 확장명 없이 파일 이름이 값이어야 합니다. 예를 들어, example-icon.svg이라는 SVG 파일은 example-icon로 참조됩니다.
      • GitHub의 Octicons 집합의 아이콘입니다. 옥시콘을 참조하려면 값이 octicon <icon name>여야 합니다. 예들 들어 octicon smiley입니다.
    • categories - 선택 사항. 워크플로가 표시되는 범주를 정의합니다. 다음 목록에서 범주 이름을 사용할 수 있습니다.

    • filePatterns - 선택 사항. 사용자 리포지토리의 루트 디렉터리에 정의된 정규식과 일치하는 파일이 있는 경우 워크플로를 사용할 수 있도록 합니다.

다른 워크플로 템플릿을 추가하려면 파일을 동일한 workflow-templates 디렉터리에 추가합니다.

다음 단계

GitHub Actions에 대해 계속 알아보려면 "워크플로 템플릿 사용" 항목을 참조하세요.