太极项目构建及消息Task

#!/usr/local/bin/ruby
require 'rubygems'
require 'uuidtools'
require 'logger'
require 'cgi'

exit(1) if ARGV.size < 3

#~ prj_name,svn_path, prj_id= ARGV[0],ARGV[1],ARGV[2]
HOST = "10.2.226.20:6080"

$log = Logger.new("/home/admin/taiji/logs/build_stdout.log",'daily',1048576)
$log.level = Logger::INFO

class TestPrj
attr :prj_name
attr :svn
attr :prj_id
attr :local_path

def initialize(prj_name,svn,prj_id,local_path)
@prj_name,@svn,@prj_id,@local_path = prj_name,svn,prj_id,local_path
end

def jar_file
"#{@local_path}/#{@prj_name}.jar"
end

def self.get_today_uuid_path(prj_name)
#"#{File.expand_path(File.dirname(__FILE__))}/test_jar/#{prj_name}/#{Time.now.strftime('%Y-%m-%d') }/#{UUIDTools::UUID.timestamp_create.to_s}"
"/home/admin/taiji/test_jar/#{prj_name}/#{Time.now.strftime('%Y-%m-%d') }/#{UUIDTools::UUID.timestamp_create.to_s}"
end
end

tp = TestPrj.new(ARGV[0],ARGV[1],ARGV[2],TestPrj.get_today_uuid_path(ARGV[0]))

$log.info("New Build")
$log.info("#{tp.inspect}")

system "svn co #{tp.svn} #{tp.local_path}/src"
($log.error("svn co #{tp.svn} #{tp.local_path}/src");exit(4)) if `echo $?`.chomp != '0'
Dir.chdir "#{tp.local_path}/src"
system "ls project.jelly project.xml 1>/dev/null 2>&1"
($log.error("project.jelly or project.xml not exit");exit(2)) if `echo $?`.chomp != '0'
system "antx compile"
$log.error("antx compile") if `echo $?`.chomp != '0'


begin
fork do
($log.error("#{tp.local_path}/src/target/classes dir doesn't exist.");exit(6)) unless FileTest.exist?("#{tp.local_path}/src/target/classes")
Dir.chdir "#{tp.local_path}/src/target/classes"
system "jar cvf #{tp.jar_file} ."
($log.error("jar cvf #{tp.jar_file} .");exit(5)) if `echo $?`.chomp != '0'
exit(0)
end
system("curl -v \"http://#{HOST}/taiji/project/updateProjectJarFile.jsp?projectid=#{tp.prj_id}&jarFile=#{CGI.escape tp.jar_file}\"")
($log.error("couldn't access http://#{HOST}/taiji/project/updateProjectJarFile.jsp?projectid=#{tp.prj_id}&jarFile=#{tp.jar_file}");exit(3)) if `echo $?`.chomp != '0'
$log.info("#{tp.local_path}/#{tp.prj_name}.jar saved.") if `echo $?`.chomp == '0'
rescue
$log.error("Check your TestPrj ID, maybe not exist")
$log.error("error:#{$!} at:#{$@}")
exit(4)
ensure
end

Process.waitall

exit(0)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值