패키지 이터레이션
PACKAGES_ITERATION 변수는 deb 및 rpm 패키지의 이터레이션을 설정하는 데 사용됩니다. --iteration 패키지에 부여할 이터레이션. PACKAGES_ITERATION 변수는 손상된 패키지가 릴리스된 경우 수동으로 증분하기 위한 것입니다.
PACKAGES_ITERATION 변수는 deb 및 rpm 패키지의 이터레이션을 설정하는 데 사용됩니다. fpm의 도움말에서는 다음과 같이 설명합니다:
--iteration 패키지에 부여할 이터레이션. RPM은 이를 'release'라고 부릅니다. FreeBSD는 'PORTREVISION'이라고 부릅니다. Debian은 이를 'Debian_revision'이라고 부릅니다.
PACKAGES_ITERATION 변수는 손상된 패키지가 릴리스된 경우 수동으로 증분하기 위한 것입니다.
패키지를 제거하고 재릴리스하는 대신, 이터레이션을 증분하고 새 패키지를 릴리스할 수 있습니다.
mage 대상 package:verifyIterationVariable은 PACKAGES_ITERATION 변수가 브랜치 전반에 걸쳐
올바르게 설정되어 있는지 확인하는 데 사용됩니다.
PACKAGES_ITERATION을 관리하는 규칙은 VerifyIterationVariable 함수에 대한 문서를 참고하세요.
워크플로우는 다음과 같습니다:
main에서PACKAGES_ITERATION값은 항상1입니다.- stable 브랜치가 생성될 때
PACKAGES_ITERATION값은1입니다. - stable 브랜치에서 태그가 생성될 때
PACKAGES_ITERATION값은1입니다. - 새 패키지를 릴리스해야 할 때:
- 태그가 삭제됩니다.
PACKAGES_ITERATION값이 stable 브랜치에서 증분됩니다.- 태그가 재생성됩니다.
- stable 브랜치를 main으로 다시 머지해야 하는 경우, 미리
PACKAGES_ITERATION값을1로 설정해야 합니다. 그렇지 않으면 이터레이션 검사가 실패하여package작업이 실패합니다.
향후 이터레이션#
게시된 패키지를 확인하여 이터레이션 검사를 자동화할 수 있지만, 기술적으로 최고 이터레이션을 알기 위해서는 모든 것을 확인해야 하므로 해당 이터레이션에서 증분할 수 있습니다. 이는 CI 시간 측면에서 시간이 많이 걸립니다. 현재로서는 수동 방식을 유지합니다.
