Skip to main content

자동으로 생성된 릴리스 정보

GitHub 릴리스에 대한 릴리스 정보를 자동으로 생성할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

Repository collaborators and people with write access to a repository can generate and customize automated release notes for a release.

자동으로 생성된 릴리스 정보 소개

자동으로 생성된 릴리스 정보는 GitHub 릴리스에 대한 릴리스 정보를 수동으로 작성하는 작업을 자동화하는 대안을 제공합니다. 자동으로 생성된 릴리스 정보를 사용하여 릴리스 내용의 개요를 신속하게 생성할 수 있습니다. 자동으로 생성된 릴리스 정보에는 병합된 끌어오기 요청 목록, 릴리스에 대한 기여자 목록, 전체 변경 로그에 대한 링크가 포함됩니다.

또한 자동화된 릴리스 정보를 사용자 지정할 수도 있습니다. 즉, 레이블을 사용하여 사용자 지정 범주를 만들어 포함하려는 끌어오기 요청을 구성하고 특정 레이블 및 사용자가 출력에 표시되지 않도록 제외할 수 있습니다.

새 릴리스에 대한 자동으로 생성된 릴리스 정보 만들기

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다.

  2. 파일 목록의 오른쪽에서 릴리스를 클릭합니다.

    리포지토리의 기본 페이지 스크린샷. "릴리스"라는 레이블이 지정된 링크가 주황색 윤곽선으로 강조 표시되어 있습니다.

  3. 페이지의 상단에서 새 릴리스 작성을 클릭합니다.

  4. 릴리스의 태그를 선택하려면 태그 선택 드롭다운 메뉴를 선택합니다.

    • 기존 태그를 사용하려면 태그를 클릭합니다.
    • 새 태그를 만들려면 릴리스의 버전 번호를 입력한 다음 새 태그 만들기를 클릭합니다.
  5. 새 태그를 만든 후 대상 드롭다운 메뉴를 선택하고 릴리스할 프로젝트가 포함된 분기를 클릭합니다.

  6. 필요에 따라 설명 필드 위의 이전 태그 드롭다운 메뉴를 선택하고 이전 릴리스를 식별하는 태그를 클릭합니다.

    "새 릴리즈" 양식의

    스크린샷. "이전 태그: 자동" 드롭다운 메뉴가 주황색 윤곽선으로 강조 표시됩니다.

  7. "릴리스 타이틀" 필드에 릴리스의 제목을 입력합니다.

  8. 설명 필드 위에서 릴리스 정보 생성을 클릭합니다.

  9. 생성된 노트를 확인하여 포함하려는 정보가 모두(및 정확히) 포함되는지 확인합니다.

  10. 필요에 따라 릴리스에 컴파일된 프로그램과 같은 이진 파일을 포함하려면 이진 상자에서 파일을 끌어서 놓거나 수동으로 선택합니다.

  11. 릴리스가 프로덕션에 사용할 준비가 되지 않았으며 불안정할 수 있음을 사용자에게 알리려면 시험판입니다를 선택합니다.

  12. 필요에 따라 최신 릴리스로 설정을 선택합니다. 이 옵션을 선택하지 않으면 의미 체계 버전 관리에 따라 최신 릴리스 레이블이 자동으로 할당됩니다.

  13. 필요에 따라 GitHub Discussions이(가) 리포지토리에서 사용하도록 설정된 경우 릴리스에 대한 토론을 만듭니다.

    • 이 릴리스에 대한 토론 만들기를 선택합니다.
    • 범주 드롭다운 메뉴를 선택하고 릴리스 토론의 범주를 클릭합니다.
  14. 릴리스를 공개할 준비가 되면 릴리스 게시를 클릭합니다. 나중에 릴리스에서 작업하려면 초안 저장을 클릭합니다.

자동으로 생성된 릴리스 정보 구성

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다.

  2. 파일 목록 위에서 파일 추가 드롭다운을 사용하여 새 파일 만들기를 클릭합니다.

  3. 파일 이름 필드에 .github/release.yml을(를) 입력합니다. .github 디렉터리에서 release.yml이라는 새 파일을 만듭니다.

  4. 파일에서 아래 구성 옵션을 사용하여 YAML에서 이 릴리스에서 제외하려는 끌어오기 요청 레이블 및 작성자를 지정합니다. 새 범주를 만들고 각 범주에 포함할 끌어오기 요청 레이블을 나열할 수도 있습니다.

구성 옵션

매개 변수설명
changelog.exclude.labels릴리스 정보에서 끌어오기 요청을 제외하는 레이블의 목록입니다.
changelog.exclude.authors릴리스 정보에서 끌어오기 요청을 제외할 사용자 또는 봇 로그인 핸들의 목록입니다.
changelog.categories[*].title필수입니다. 릴리스 정보에서 변경 내용 범주의 제목입니다.
changelog.categories[*].labels필수입니다. 이 범주에 대한 끌어오기 요청을 한정하는 레이블입니다. *를 이전 범주와 일치하지 않는 끌어오기 요청에 대한 catch-all로 사용합니다.
changelog.categories[*].exclude.labels이 범주에서 끌어오기 요청을 제외하는 레이블의 목록입니다.
changelog.categories[*].exclude.authors이 범주에서 끌어오기 요청을 제외할 사용자 또는 봇 로그인 핸들의 목록입니다.

구성 예

semver 릴리스에 레이블을 지정하는 리포지토리에 대한 구성

YAML
# .github/release.yml

changelog:
  exclude:
    labels:
      - ignore-for-release
    authors:
      - octocat
  categories:
    - title: Breaking Changes 🛠
      labels:
        - Semver-Major
        - breaking-change
    - title: Exciting New Features 🎉
      labels:
        - Semver-Minor
        - enhancement
    - title: Other Changes
      labels:
        - "*"

끌어오기 요청에 태그를 지정하지 않지만 릴리스 정보(labels: '*'은 catchall 범주를 표시하는 데 필요)에서 Dependabot 자동화된 끌어오기 요청을 구분하려는 리포지토리에 대한 구성

YAML
# .github/release.yml

changelog:
  categories:
    - title: 🏕 Features
      labels:
        - '*'
      exclude:
        labels:
          - dependencies
    - title: 👒 Dependencies
      labels:
        - dependencies

추가 참고 자료