2016-07-24 2 views
1

나는 이미 현재 자식 브랜치 이름을 탐지하는 bash 코드를 가지고 있는데 이것을 메이크 파일로 포팅하고 싶다. 이 코드는 젠킨스와 트래비스와 같은 그들 중 일부에서 (지속적인 통합 시스템이 수도 여러 상황에서 실행되고 있기 때문에이 더 복잡한 논리가 자식 지점 이름을 감지하기 위해 필요한 이유Makefile 내부에서 자식 분기 이름을 찾는 방법?

if [ -z ${GIT_BRANCH+x} ]; then 
    if [ ! -z ${BRANCH_NAME+x} ]; then 
     export GIT_BRANCH=${BRANCH_NAME} 
    else 
     export GIT_BRANCH=$(git branch | sed -n '/\* /s///p') 
    fi 
fi 
echo "INFO:>Branch:>$GIT_BRANCH" 

이 경우 사람이 궁금해, 그건 스파 스 체크 아웃 사용) git branch 명령을 사용할 수 없습니다. 다행히도 이러한 환경은 환경 변수에 분기 이름을 노출시킵니다.

+0

Makefile이 저장소의 일부인 경우 분기 별 코드를 Makefile에 직접 편집하는 것이 더 간단 할 수 있습니다. – chepner

+3

포트 메이크 파일 (Port this to Makefile)이 무슨 뜻인지 확실하지 않습니다. 위의 쉘 코드를 makefile 코드로 다시 쓰고 싶습니까? 아니면 메이크 파일 내에서 위의 코드를 포함하는 스크립트를 호출하고 싶습니까? 또는 다른 것? – MadScientist

+0

http://stackoverflow.com/questions/589276/how-can-i-use-bash-syntax-in-makefile-targets?rq=1 – xxfelixxx

답변

0

가지고있는 코드를 가져 와서 말하십시오 (예 : /usr/local/bin/git-branch-report). 그런 다음 makefile에서 다음과 같이 액세스 할 수 있습니다.

GITVER = $(shell /usr/local/bin/git-branch-report) 

GNU make입니다. BSD make는 구문이 다른 비슷한 기능을 가지고 있습니다.

관련 문제