불변 릴리스와 태그로 액션의 릴리스 관리하기
불변 릴리스와 태그로 액션의 릴리스 관리하기
GitHub의 불변 릴리스(immutable releases)와 Git 태그를 조합해 액션의 릴리스를 관리하는 방법을 알아봐요. 이 방식을 쓰면 릴리스 사이클을 체계적으로 시작하고, 사용자가 항상 최신 호환 버전을 쓸 수 있게 해요.
출처: 문서
본문
액션 저장소에서 불변 릴리스를 사용하도록 설정하면, 다음과 같이 액션의 릴리스를 관리할 수 있어요:
-
릴리스 사이클을 시작하려면 릴리스 브랜치에서 액션의 잠재적 릴리스를 개발하고 검증해요.
-
변경 사항을 어떻게 공유할지 결정해요:
- 변경할 수 없는 버전의 액션을 공유할 준비가 되었다면, 릴리스 전용 태그(예:
v1.0.0)로 GitHub에 릴리스를 만들어요. 저장소에서 릴리스 관리하기를 참고하세요. - 나중에 릴리스의 Git 태그를 업데이트할 수 있게 하려면 GitHub에 릴리스를 만들지 마세요. 대신 태그를 다음과 같이 만들어요:
- 릴리스에 기존 워크플로를 깨뜨리는 변경(breaking changes)이 포함되어 있다면 메이저 버전 태그(예:
v1)를 만들어요. - 릴리스에 하위 호환되는 새로운 기능이 포함되어 있다면 마이너 버전 태그(예:
v1.1)를 만들어요. - 릴리스에 하위 호환되는 버그 수정이 포함되어 있다면 패치 버전 태그(예:
v1.1.1)를 만들어요.
- 릴리스에 기존 워크플로를 깨뜨리는 변경(breaking changes)이 포함되어 있다면 메이저 버전 태그(예:
- 변경할 수 없는 버전의 액션을 공유할 준비가 되었다면, 릴리스 전용 태그(예:
-
GitHub의 릴리스에 연결되지 않은 Git 태그의 경우, 사용자가 액션의 최신 호환 버전에 접근할 수 있도록 다음과 같이 업데이트해요:
- 메이저 버전이라면 태그가 최신 관련 마이너 버전이나 패치 버전의 Git ref를 가리키도록 업데이트해요.
- 마이너 버전이라면 태그가 최신 관련 패치 버전의 Git ref를 가리키도록 업데이트해요.
기존 Git 태그를 가장 최근 커밋으로 이동하려면 다음 명령으로 태그를 강제 푸시(force push)해요:
git tag -f TAG-NAME git push -f --tags