InfoGrab Docs

패키지 이터레이션

GitLab Runner의 deb 및 rpm 패키지 이터레이션 변수 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 시간 측면에서 시간이 많이 걸립니다. 현재로서는 수동 방식을 유지합니다.