마스터 브랜치에 GitHub 브랜치 보호가 설정되어있을 때 프로젝트의 버전 번호를 관리하는 좋은 프로세스를 찾고 있습니다.GitHub 보호 지점에서 버전 번호를 늘리는 방법은 무엇입니까?
"릴리스"분기에 병합 할 때 연속 통합 서버가 테스트를 실행하면 자동으로 프로젝트의 버전 번호가 증가하고 SCM 시스템으로 다시 커밋됩니다.
그러나 브랜치 보호를 사용하면 풀 요청없이 브랜치를 커밋 할 수 없으므로 버전 번호 업데이트를 시도 할 때 CI 서버가 보호 분기로 푸시 할 수없는 catch-22가 있습니다. 하위 최적 모두 내가 몇 가지 작업 방법을 생각할 수
:
- 조작까지하는 시스템은 그래서 당신의 CI 서버는 버전을 업데이트하는 PR을 만들 것입니다. 나는 GitHub로도 그렇게 할 수있을 지 확신하지 못하지만, 그것이 실제로 "모든"PR에 대한 두 개의 Pull Request를 작성하게된다고해도, 어색하다.
- 지점 보호를 제거 - 지금 누군가가 나뭇 가지에 아무것도 밀어 수 있으며, 당신이 수동 프로세스
- 업데이트 끌어 오기 요청하기 전에 수동으로 버전을 통해 개발자를 관리 할 수 있습니다. 이것은 # 2보다 약간 낫지 만 새로운 버전 번호를 선택하거나 올바른 버전 번호를 잘못된 분기에 병합 할 때 개발자가 실수 할 수있는 문을 엽니 다.
내가 생각하지 못한 다른 옵션이 있기를 바랍니다.
우리는 자바 스크립트와 npm을 사용하고 있습니다.하지만이 문제는 언어에 무관심합니다. 예를 들어 Java와 Maven에서 확실히 동일한 문제가 존재할 것입니다.
그러나 이것은 버전 ID를 프로젝트에 다시 적용하지 않습니다. – JBCP
버전 정보가 프로젝트에 전혀 없습니다. 젠킨스가 마스터 브랜치 (master branch)에서 업데이트를 볼 때마다 넣는'git tag '에 있습니다. 이 프로젝트는 단지 마지막 '태그'에서 버전 정보를 가져 오는 방법을 알고 있습니다. 그래서 예, 다시 커밋되지 않습니다. –
@JBCP 그것이 도움이된다면 받아 들인 답을 표시해주십시오. –