«   2018/07   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Archives
Today
522
Total
1,124,892
안정적인 DNS서비스 DNSEver
관리 메뉴

Blue Breeze

svn hooks를 이용한 release, trunk 자동 업데이트 본문

VersionControl/SVN

svn hooks를 이용한 release, trunk 자동 업데이트

푸른바람 C/H 2017.03.24 00:11
주의 : 보안 이슈로 hooks 실행은 환경변수를 상속받지 않고 모두 초기화하고 실행된다.

post-commit

#!/bin/sh

REPOS="$1"
REV="$2"

mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf

DIR="/home/svn/project_name/hooks"
if svnlook dirs-changed -r "$REV" "$REPOS" | grep -qEe '^trunk/'; then
    ${DIR}/_dev_update.sh $1 $2
else
    ${DIR}/_product_update.sh $1 $2
fi

_dev_update.sh

#!/bin/bash

# svn auto update shell

REPOS="$1"
REV="$2"

if [ -z "$HOME" ]; then
    HOME="/home/username/"
fi

PRJ="project_name"
ENV="dev"
DATE=$(date +"%Y%m%d")
NOW=$(date +"%Y-%m-%d_%H:%M:%S")
LOG="${HOME}/${PRJ}-${ENF}_svn.${DATE}.log"
SERVER="username@hostname.com"
WORKINGPATH="{$HOME}/{$PRJ}"

echo "##### update.sh Begin"
touch $LOG
echo "${NOW} ##### ssh $SERVER svn up $WORKINGPATH" >> $LOG
ssh $SERVER svn up $WORKINGPATH && exit; >> $LOG
echo "##### update.sh Finished"


'VersionControl > SVN' 카테고리의 다른 글

svn cleanup error  (0) 2017.03.31
svn checkout ignore directory/folder  (0) 2017.03.30
svn hooks를 이용한 release, trunk 자동 업데이트  (0) 2017.03.24
팀 개발을 위한 SVN Branch, Merge 사용  (0) 2016.07.22
SVN Conflict(충돌) Option  (0) 2016.06.10
propset propedit  (0) 2016.01.05
0 Comments
댓글쓰기 폼