Ruby_SVN打包脚本-创新互联
根据SVN相关目录中的 .f 文件里面的内容来打包,并ci到另一个SVN,然后再发邮件给指定人员。

脚本如下:
#!/usr/bin/ruby
require 'net/smtp'
require 'fileutils'
require 'find'
svn_server = "http://192.168.1.5/svn/TEST"
to_mail = "/home/test/maillist.txt" #mail address list
svn_tmp_dir = "/tmp/tmp." + rand(99999).to_s
def mailer(mailadd,modules,comment,version,tar_name,size,ci_time)
File.open(mailadd,'r').each {|dst|
msgstr = <
To: #{dst.chomp}
Subject: SVN_Release
Module: #{modules}
Comment: #{comment}
Version: #{version}
TarName: #{tar_name}
TarSize: #{size}
CiTime: #{ci_time}
END_OF_MESSAGE
acct = 'sync.svn@163.com'
domain = "163.com"
pass = '123123'
Net::SMTP.start('smtp.163.com', 25, domain, acct, pass, :login) { |smtp|
smtp.send_message msgstr,'sync.svn@163.com',dst.chomp
}
#Net::SMTP.start(server, port, domain, acct, passwd, authtype)
}
end
def usage
help=<&1`
if result.match(/not under/)
`svn add #{tar_name}`
result = `svn ci #{tar_name} -m "#{ARGV[3]}"`
end
mailer(to_mail,path,ARGV[3],result.split[-1][0..-2],tar_name,File.size(tar_name),Time.now.strftime("%Y/%m/%d %H:%M"))
FileUtils.rm tar_name, :force => true
FileUtils.remove_dir(svn_tmp_dir)
else usage
end 创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
文章名称:Ruby_SVN打包脚本-创新互联
分享链接:http://www.jxjierui.cn/article/jspop.html


咨询
建站咨询
