]$ git describe --tags --abbrev=0
위 명령을 이용하게 되면 최신 git version 을 가져올 수 있다.
but. 만약 특정 문자를 사용하여서 tagging을 하였을 경우 해당 tag를 가져오려고 한다면 ?
예를 들어 staging 소스와 deploy 소스를 따로 tagging 하여서 사용 하고 있다고 한다면 ?
최신 staging version과 deploy 버전을 관리해줄 필요가 있음.
이릴때는 match 속성을 사용
]$ git describe --tags --abbrev=0 --match staging-*
위와 같이 사용하게 되면 staging- 으로 시작하는 최신 버전을 가져오게 됨.
물론 이 경우는 모두 해당 레파지토리 폴더 안에서 일어났을 때 이야기다.
사용 케이스가 deploy 프로세스 상에서 값을 추출하는 경우이다.
저 스크립트들의 경우는 해당 소스코드 상에서 최신 tag version을 가져오는 경우이다.
이 경우 예를 들자면..
]$ git clone -b staging-v0.5 [git_repository_path]
명령을 통해서 가져왔을 경우 위 명령을 사용할 경우 tag version은 staging-v0.5 가 나오게 될것이다.
최신 버전은 staging-v0.7이 더라도 소스를 가져온 시점에서 최신 버전을 가져오는 것.
배포시스템에서는 배포하려는 버전의 소스코드를 clone으로 땡겨오기 때문에
위 스크립트를 사용해서 rollback 도 가능하다.
사용 예:
]$ LATEST=$(git describe --tags --abbrev=0 --match staging-*)
]$ git clone -v $LATEST [git_repository_path] $LATEST
]$ rm -rf html && ln -s $LATEST html
'Develop > Etc' 카테고리의 다른 글
[로또] 예상 번호 추첨기 (0) | 2018.01.31 |
---|---|
ISO 파일 마운트 시키기 (0) | 2018.01.19 |
[SVN] svn rollback 하기 (0) | 2018.01.15 |
[Apache] 설정에서 모든 요청이 특정 스크립트 거치도록 (0) | 2017.08.01 |
[Apache] https 가 필요없는 특정 url 처리 (0) | 2015.04.07 |