본문 바로가기

[뭘, 이런걸 다?]

[뭘, 이런걸 다?] 주기적으로 git 저장소에서 코드 가져오는 쉘

github 등의 특정 git 저장소를 이용해서 개발할 경우 지속적으로 최신 코드를 반영해서 테스트를 해야 할 때가 있습니다.




이럴때 개발 테스트 서버에서 주기적으로 저장소로부터 코드를 받고 싶으면 아래와 같은 간단한 쉘로 처리할 수 있습니다. (아래 예제는 30초마다)


## pullpoll.sh

POLLING_TIME=30

while :

  do

      git remote show origin | tail -1 | grep "up to date"

      if [ "$?" = 1 ]; then

        echo "===================" >> pull.log

        date +"%F %R" >> pull.log

        git pull >> pull.log

      fi

      sleep $POLLING_TIME

done



실행은

nohup sh pullpoll.sh > /dev/null