Class: Publisher::Iis_build

Inherits:
Object
  • Object
show all
Defined in:
lib/depengine/publisher/iis_build.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#http_read_timeoutObject

Returns the value of attribute http_read_timeout.



5
6
7
# File 'lib/depengine/publisher/iis_build.rb', line 5

def http_read_timeout
  @http_read_timeout
end

#iis_build_protocolObject

Returns the value of attribute iis_build_protocol.



4
5
6
# File 'lib/depengine/publisher/iis_build.rb', line 4

def iis_build_protocol
  @iis_build_protocol
end

#iis_build_urlObject

Returns the value of attribute iis_build_url.



3
4
5
# File 'lib/depengine/publisher/iis_build.rb', line 3

def iis_build_url
  @iis_build_url
end

Instance Method Details

#build(tag, env, version, value, application_name) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/depengine/publisher/iis_build.rb', line 7

def build(tag, env, version, value, application_name)
  Helper.validates_presence_of iis_build_url, "IIS URL not set"
  Helper.validates_presence_of iis_build_protocol, "Protocol not set"
  iis_error = false

  begin
    uri    = URI(iis_build_protocol + '://' + iis_build_url)
    Net::HTTP.start(uri.host, uri.port) do |http|
      http.read_timeout = http_read_timeout
      request = Net::HTTP::Post.new uri.request_uri
      request.set_form_data('tag' => tag, 'env' => env, 'version' => version, 'value' => value, 'application_name' => application_name)
      request.content_type = 'application/x-www-form-urlencoded;charset=utf-8'
      http.request request do |response|
        response.read_body do |chunk|
          if chunk.include?("### Error while executing")
            $log.writer.error "Error executing build on IIS"
            iis_error = true
          end
          $log.writer.info "#{chunk}"
        end
      end
    end
  rescue Exception => e
    $log.writer.error "Error: while connecting to IIS Server"
    $log.writer.error "Request was: #{uri.to_s}"
    $log.writer.error e.message
    exit 1
  end
  
  if iis_error
    exit 1
  end

end