svn文件自动编译,报警,提示下载 【自己用的】

 开发人员通过svn上传更新后,写个脚本判断下对错,然后报警,并且提示下载路径。

 

先安装inotiy和apache,svn也很简单,大家google下教程吧。

  
  
  
  
  1. wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz 

  2. tar xvf inotify-tools-3.14.tar.gz cd inotify-tools-3.14 

  3. ./configure 

  4. make;make install 

  5. yum -y install httpd 

  6. mv  /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.beifen 

  7. 在httpd.conf里面的现实方式改变下  /etc/httpd/conf/httpd.conf 

  8. sed -i '/Options.*FollowSymLinks/s/.*/Options +Indexes FollowSymLinks/' /etc/httpd/conf/httpd.conf 

  9. service httpd restart 

  10. chkconfig httpd on 

 

这个就是自动上传部署的脚本

src是你监视的目录,如果需要远程的同步的话,需要开启host.

邮箱可以换成自己的,

 

aa=$(javac /var/www/html/$filename)

bb=$(echo $aa|grep ok|wc -l)

这两个可以自由写成自己需要的格式,aa那个意思是 解析个java的文件,结果放到变量aa       bb是 打印aa变量并且看看有没有ok这个字眼,当然了ok是可以定义的,wc -l 是取有几个ok的字眼

 

  
  
  
  
  1. #!/bin/bash 

  2. src=/123 

  3. ipaddress=$(ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}') 

  4. #host="192.168.0.6"

  5. /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib $src | while read files 

  6. do 

  7. rsync -av --delete --progress $src/* /var/www/html 

  8. #echo "$files" >>/root/file.txt 

  9. filepath=$(echo $files|awk '{ print $3}') 

  10. filename=$(echo $filepath|sed 's/\/123\///') 

  11. aa=$(javac /var/www/html/$filename) 

  12. bb=$(echo $aa|grep ok|wc -l) 

  13. if [ $bb -eq 1 ]  

  14. then 

  15. echo " $files  is  ok  at  $(date +%F-%H-%M)" |mail -s "$files is ok $(date +%F-%H-%M)" [email protected] 

  16. else 

  17. echo " $files is bad $(date +%F-%H-%M)   下载地址 http://$ipaddress/$filepath" |mail -s "$files is bad $(date +%F-%H-%M)" [email protected] 

  18. fi 

  19. done 

 

 

 

你可能感兴趣的:(svn自动部署安装)