2016-11-07 2 views
5

나는 패키지로 배포 MyAssembly.Api.1.0.0 베타를 내가 사용의 Bitbucket 파이프 라인을 구축하고 dotnet pack와 팩 netcoreapp1.0 있고, 문어로 밀어 -. * nupkg*이고 커밋 번호/빌드 번호 (또는 다른 안정된 증분 번호)로되어 있어야합니다.증가의 Bitbucket 파이프 라인의 숫자

GIT의 커밋 식별자가 UUID이므로 커밋 수를 얻기 위해 다음 명령을 시도했지만 (아래 참고) 결과 커밋 수는 매우 신뢰할 수없고 예상대로 작동하지 않습니다. 지역적으로는 정상적으로 작동하고 내 커밋에 대한 커밋 수는 커집니다. 아쉽게도 Docker 컨테이너에서 실행되는 명령은 파이프 라인에서 작동하지 않습니다. 어떤 이유로 인해 커밋 횟수는 동일하게 유지되거나 때때로 감소합니다.

나는 "얕은/unshallow"자식 repo blabla ...와 관련이 있으며, 매번 (GIT에) 로그인하여 해결할 수 있다고 읽었습니다. 내가 그것을 피할 수 있다면 이것을하지 않기를 바랄 뿐이다. 나는 Bitbucket 자체에서 GIT에 로그인해야한다는 것을 아이러니하게 느낀다.

git shortlog | grep -cE '^[ ]+\w+' 
git rev-list HEAD --count 
git rev-list --all --count 
git rev-list --no-merges --count HEAD 
git log --pretty=format:'' | wc -l 
git log master --pretty=oneline | wc -l 

Q : 값을 증가시키고 파이프 라인의 변수로 액세스 할 수있는 다른 방법이 있나요?

답변

2

이미 발견했듯이 git 저장소 나 기록에서 직접 증분 값을 얻는 것은 쉽지 않거나 의미가 없습니다.

Bitbucket 파이프 라인에서 변수를 읽고 설정하는 또 다른 방법은 "Environement variables"입니다.

이 문제를 해결하려면 원하는 초기 값으로 환경 변수를 설정 한 다음 Bitbucket 파이프 라인에서 실행되는 스크립트에서이 환경 변수의 숫자를 직접 증가시켜야합니다.

+0

"본 뒤의 Bitbucket 파이프 라인에서 실행되는 스크립트에이 환경 변수의 수를 증가"? 내가 이해 했으므로 환경 변수에 대한 쓰기 권한이 없습니다. – Marcus

+2

bitbucket API를 사용하여 저장소 수준 맞춤 변수를 업데이트 할 수 있습니다. https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/pipelines_config/variables/% 7Bvariable_uuid % 7D. 카운터를 업데이트하기 위해이 방법을 사용하는 방법을 연구 중입니다. –

관련 문제