GitHub PR 및 이슈의 변경 사항을 레이블별로 정리하는 빠른 변경 로그 생성기입니다.
마지막 GitHib 릴리스부터 현재 디렉터리의 git 저장소에 대한 현재 git HEAD 태그/커밋까지 변경 로그를 만듭니다.
연대기
v0.16.0부터 현재 디렉터리의 git repo에 대한 현재 git HEAD 태그/커밋까지의 모든 변경 사항이 포함된 변경 로그를 만듭니다.
크로니클 --since-tag v0.16.0
지정된 경로의 저장소에 대한 두 개의 특정 태그 사이에 변경 로그를 생성합니다.
Chronicle --since-tag v0.16.0 --until-tag v0.18.0 ./path/to/git/repo
변경 로그를 생성하고 변경 로그의 변경 사항 집합에서 릴리스 버전을 추측합니다.
연대기 -n
일련의 변경 사항을 기반으로 다음 릴리스 버전을 추측하세요(변경 로그를 생성하지 마세요).
크로니클 다음 버전
컬 -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b /usr/local/bin
...또는 설치를 위한 릴리스 버전과 대상 디렉터리를 지정할 수 있습니다.
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b
구성 검색 경로:
.chronicle.yaml
.chronicle/config.yaml
~/.chronicle.yaml
구성 옵션(예제 값은 기본값임):
# 변경 로그의 출력 형식은 # -o, --output 및 CHRONICLE_OUTPUT과 동일합니다. env varoutput: md# 모든 로깅 출력을 억제합니다# -q와 동일합니다. CHRONICLE_QUIET env varquiet: false# 모든 로깅 옵션log: # 구조화된 로깅 사용 # CHRONICLE_LOG_STRUCTURED env와 동일 var Structured: false # 로그 수준 # CHRONICLE_LOG_LEVEL env와 동일 var level: "warn" # 로그 파일을 쓸 위치(기본값은 다음이 아님) 로그 파일이 있음) # CHRONICLE_LOG_FILE과 동일 env var file: ""# 현재 버전과 변경 사항 세트를 기반으로 다음 릴리스 버전이 무엇인지 추측합니다(--until-tag와 함께 사용할 수 없음)# --speculate-와 동일 다음 버전 / -n ; CHRONICLE_SPECULATE_NEXT_VERSION env varspeculate-next-version: false# 변경 로그의 시작 git 태그를 재정의합니다(기본값은 마지막 릴리스를 자동으로 감지하는 것입니다)# --since-tag / -s 와 동일; CHRONICLE_SINCE_TAG env varsince-tag: ""# 변경 로그의 종료 git 태그를 무시합니다(기본값은 태그를 사용하거나 git HEAD에서 커밋)# --until-tag / -u 와 동일; CHRONICLE_SINCE_TAG env varuntil-tag: ""# 현재 릴리스 버전이 < v1.0인 경우 주요 변경 사항으로 인해 부 버전 필드가 변경됩니다# CHRONICLE_ENFORCE_V0과 동일 env varenforce-v0: false# 변경 로그에 사용된 제목# CHRONICLE_TITLEtitle과 동일: Changelog# 모든 github 관련 설정github: # 사용할 github 호스트(github 엔터프라이즈 배포의 경우 재정의) # CHRONICLE_GITHUB_HOST와 동일 env var 호스트: github.com # CHRONICLE_GITHUB_EXCLUDE_LABELS와 동일 # 지정된 라벨이 있는 문제나 PR은 고려하지 않습니다. - 복제하다 - 질문 - 유효하지 않은 - 고치지 않을 거야 - 고치지 않을 것 - 릴리스 무시 - 변경 로그 무시 - 무시하다 # 병합된 PR을 후보 변경 로그 항목으로 간주합니다('github.changes' 항목과 일치하는 레이블이 있어야 함) # CHRONICLE_GITHUB_INCLUDE_PRS env var include-prs: true # 닫힌 문제를 후보 변경 로그 항목으로 간주합니다('github.changes' 항목의 일치 레이블이 있어야 함). 'github.changes' 항목) # CHRONICLE_GITHUB_INCLUDE_ISSUES와 동일 env var include-issues: true # 문제는 병합된 연결된 PR이 있는 경우 변경 로그 후보에 대해서만 고려될 수 있습니다(참고: github.include-issues를 설정할 필요는 없습니다). # CHRONICLE_GITHUB_ISSUES_REQUIRE_LINKED_PRS 환경과 동일 var issue-require-linked-prs: false # 이슈나 PR에 적용된 라벨이 변경 로그 항목을 구성하는지에 대한 정의 목록입니다. # 이러한 항목은 변경 로그 섹션, 변경 로그 제목 및 변경 클래스를 가장 잘 나타내는 semver 필드를 지정합니다. # 참고: 환경 변수를 통해 설정할 수 없습니다.change: [...<항목 목록>...] # 자세한 내용은 "기본 GitHub 변경 정의" 섹션을 참조하세요.
github.changes
구성 가능 항목은 각각 다음 필드를 사용하는 매핑 목록입니다.
name
: [문자열] 변경 사항을 가장 잘 나타내는 단수형, 소문자, 하이픈으로 구분된(공백 없음) 이름(예: "breaking-change", "security", "add-feature", "enhancement", "new-feature", 등).
title
: [string] 모든 항목을 나열하는 변경 로그 섹션의 제목입니다.
semver-field
: [string] 변경 항목은 다음 릴리스 버전을 추측할 때 해당 semver 필드를 범프합니다. 허용되는 값: major
, minor
또는 patch
.
labels
: [문자열 목록] 이 변경 섹션과 일치해야 하는 모든 문제 또는 PR 레이블입니다.
github.changes
의 기본값은 다음과 같습니다.
- 이름: 보안 수정 제목: 보안 수정 semver-field: 패치 레이블: - 보안 - 취약점 - 이름: 추가 기능 제목: 추가 기능 semver-field: 보조 라벨: - 강화 - 특징 - 미성년자 - 이름: 버그 수정 제목: 버그 수정 semver-field: 패치 라벨: - 벌레 - 고치다 - 버그 수정 - 패치 - 이름: 주요 기능 제목: 주요 변경 사항 semver-field: 주요 레이블: - 파괴 - 이전 버전과 호환되지 않음 - 파괴적인 변화 - 파괴 기능 - 주요한 - 이름: 제거된 기능 제목: 제거된 기능 semver-field: 주요 레이블: - 제거됨 - 이름: 더 이상 사용되지 않는 기능 제목: 더 이상 사용되지 않는 기능 semver-field: 보조 라벨: - 더 이상 사용되지 않음- 이름: 알 수 없음 제목: 추가 변경 사항