svnã®hookã§å¦çãããã¹ã¯ãªãããsvnã§ç®¡çãã
svnã¸ã®ã³ãããæã«ã以åä½ã£ãã¡ã¼ã«éä¿¡ã®ä»ã«Hudsonå´ã«å¦çãããããæ°æã¡ãåºã¦ããã®ã§ãããhooksé ä¸ã®ãã¡ã¤ã«ãsvnã§ç®¡çã§ããªãã¨ä½ãã¨ä¸ä¾¿ã§ãããã£ããsvnã使ã£ã¦ãããã ãããsvnã§ä½¿ããã¡ã¤ã«ãããsvnã«ç®¡çããããã¨ããæããããhookå¦çæã«svn updateã§åå¾ããã¹ã¯ãªããã«å¦çãå§è²ï¼ããããã¨ã«ãã¾ããã
ã¡ãªã¿ã«ãå°ãããããã§ãã
svnã®ãªãã¸ããªä¸ã«ã¹ã¯ãªãããä½ã
hook_scripts/ |-- post-commit `-- post-commit.rb
ã¾ãsvnä¸ã«hook_scriptsã¨ããååã§ãã¹ã¯ãªããç½®ãå ´ãä½ãã¾ãã
試ãã«ä»¥åã®ã¨ã³ããªã§ä½ã£ãpost-commitã使ç¨ãã¦ã¿ã¾ãã
Subversionでコミット時にメールを送信する - tanamonの日記
hooksã®ä¸ã§ãã§ãã¯ã¢ã¦ããã
# cd /opt/svn/test/hooks # svn co file:///opt/svn/test/trunk/hook_scripts A hook_scripts/post-commit A hook_scripts/post-commit.rb ãªãã¸ã§ã³ 7 ããã§ãã¯ã¢ã¦ããã¾ããã
hooksã®ä¸ã§ãå
ã»ã©ä½æããã¹ã¯ãªããä¸å¼ããã§ãã¯ã¢ã¦ããã¾ãã
hookãç´ãã¹ã¯ãªãããä½ã
# vi hook_proxy.sh
#!/bin/sh REPOS="$1" REV="$2" cd $REPOS/hooks/hook_scripts svn update chmod +x * ./`basename $0` $REPOS $REV
# chmod +x hook_proxy.sh # ln -s hook_proxy.sh post-commit
ãã£ã¦ãããã¨ã¨ãã¦ã¯ãhookãããã¹ã¯ãªããåã¨ååã®hook_scripts以ä¸ã®ãã¡ã¤ã«ãå¼ã³ç´ãã¦ãã¾ãã
hook_scriptsã®å¤æ´ãåæ ãããããã«svn updateãã¦ãã¾ãããå¥écronçã§åãããã»ããã¹ãã¼ãã£ã½ãã§ãã
ï¼ã§ãé¢åãªã®ã§ãããªãï¼
æåã§åä½ç¢ºèªãã
# sudo -u apache -H ./post-commit /opt/svn/test 7 ãªãã¸ã§ã³ 7 ã§ãã
ã¡ã¼ã«ãé£ãã§ããã°OKã§ãã
å¾ã¯ãhook_scriptsã®ä¸ã®ãã¡ã¤ã«ãsvnã«ã³ãããããã°ã以éã®hookå¦çãå¤ããããã«ãªãã¾ãã