弄了老半天,要注意的地方有:
1:svn是否是自己编译源代码安装的,如果用的是/usr/local/bin下面的,请在自动化svn update时,添加svn绝对路径;假如是yum或者系统自带的svn,在目录/usr/bin下面,可以不用带绝对路径,请查阅/etc/crontab的环境变量
2:crontab里所有执行脚本以及命令尽量都带绝对路径
3:执行的定时脚本,请通过pwd打印出执行脚本的当前位置,然后重定向到文件当中查看是否是你原定的位置,比如cmd > /tmp/wrong.log 2>&1
4:有人喜欢用expect,spawn,告诉操作系统执行的是一个svn shell命令,这样就需要将user和passwd都做设置,个人爱好的还是直接ssh服务器设置无需密码,一劳永逸,当然如果你没权限修改那只好前者了
定时svn checkout,build,检查pass or error,最终如果产生error会群发邮件,终于通过自动化完成,其实最麻烦的都是一些设置问题,然后把每部分凑起来就行了~!