2016-08-11 11 views
0

도커 이미지도 제공하는 npm 모듈 프로젝트가 있습니다. package.json 버전이 바뀌면 고정/고정/밀어 넣기를 실행하려고합니다.package.json의 버전이 변경된 경우 스크립트

나는 package.json의 버전이 변경되었는지 여부를 식별하는 bash 스크립트 다음에 있습니다. 당신이 버전을 비교할 수 PACKAGE_VERSION=$(node -p -e "require('./package.json').version")

답변

0

파일이 뭔가 이미 빌드 서버 노드 함이 있기 때문에, 예를 들어, 확인있는 노드를 사용하여 같은 $(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD) 스크립트를 변경 한 경우 내가 말할 수있는, 당신의 현재 이미지 ...

#!/usr/bin/env bash 

DOCKER_PACKAGE_VERSION=$(docker run my/image node -pe 'require("./package.json").version') 

NEW_PACKAGE_VERSION=$(node -pe 'require("./package.json").version') 

if [ "$NEW_PACKAGE_VERSION" == "$DOCKER_PACKAGE_VERSION" ]; then 
    printf "Same version [%s]\n" "$NEW_PACKAGE_VERSION" 
    exit 1 
fi 

printf "New version [%s] != [%s]\n" "$NEW_PACKAGE_VERSION" "$DOCKER_PACKAGE_VERSION" 
exit 0 

다음

$ ./should_i_build.sh && docker build -t my/image . 
+0

재미 있고 드리겠습니다. repo에서 도커 이미지를 가져 오는 대신 git을 보는 것은 어떨까요? – Tom

관련 문제