class PodsOrz::BinaryServer
Attributes
http_host[RW]
Public Class Methods
new()
click to toggle source
# File lib/podsorz/core/Binary/binary_server.rb, line 10 def initialize() @http_host = "http://192.168.6.127:8899" end
Public Instance Methods
__action_upload(pod, file_path, pod_version, extension)
click to toggle source
# File lib/podsorz/core/Binary/binary_server.rb, line 27 def __action_upload(pod, file_path, pod_version, extension) is_upload_success = false file_name = "#{pod}#{extension}" file_name_path = File.expand_path(file_name, file_path) unless File.exist?(file_name_path) Logger.error("#{file_name_path} not exist!") is_upload_success = false return is_upload_success end mutex = Mutex.new() condition_var = ConditionVariable.new wait_thread = Thread.new do mutex.synchronize { condition_var.wait(mutex, 30) } end command = Thread.new do mutex.synchronize { upload_cmd = "curl #{@http_host}/upload -F \"podname=#{pod}\" -F \"version=#{pod_version}\" -F \"file=@#{file_name_path};filename=#{file_name}\"" Logger.warning("upload #{file_name}...\n #{upload_cmd}") Open3.popen3(cmd_list.join(";")) do |stdin , stdout , stderr, wait_thr| while line = stdout.gets puts line if line.include? "\"success\":" is_upload_success = true if line.include? "true" condition_var.signal end end end IO.popen(upload_cmd) do |io| io_lines = io.readlines io_lines.each do |line| puts line end io.close end } end wait_thread.join() Logger.error("upload #{file_name} failure!") unless is_upload_success is_upload_success end
delete_pod_file(pod, pod_version)
click to toggle source
# File lib/podsorz/core/Binary/binary_server.rb, line 82 def delete_pod_file(pod, pod_version) is_delete_success = false mutex = Mutex.new() condition_var = ConditionVariable.new wait_thread = Thread.new do mutex.synchronize { condition_var.wait(mutex, 2) } end command = Thread.new do mutex.synchronize { delete_cmd = "" if pod_version && pod_version.length > 0 delete_cmd = "curl #{@http_host}/delete -d \"podname=#{pod}\";\"version=#{pod_version}\"" else delete_cmd = "curl #{@http_host}/delete -d \"podname=#{pod}\"" end Logger.warning("delete #{pod}...\n #{delete_cmd}") Open3.popen3(delete_cmd) do |stdin , stdout , stderr, wait_thr| while line = stdout.gets puts line if line.include? "\"success\":" is_delete_success = true if line.include? "true" condition_var.signal end end end } end wait_thread.join() Logger.error("delete #{pod} failure!") unless is_delete_success is_delete_success end
upload_pod_file(pod, file_path, pod_version)
click to toggle source
# File lib/podsorz/core/Binary/binary_server.rb, line 14 def upload_pod_file(pod, file_path, pod_version) is_upload_success = false # uplaod zip is_upload_success = __action_upload(pod,file_path,pod_version,".framework.zip") return is_upload_success unless is_upload_success # upload .podspec is_upload_success = __action_upload(pod,file_path,pod_version,".podspec") is_upload_success end