dploy 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/dploy/client.rb +23 -9
- data/lib/dploy/logger.rb +4 -4
- data/lib/dploy/version.rb +1 -1
- metadata +5 -5
data/lib/dploy/client.rb
CHANGED
@@ -3,20 +3,32 @@ require 'rest_client'
|
|
3
3
|
|
4
4
|
module Dploy
|
5
5
|
|
6
|
-
|
6
|
+
class Client
|
7
7
|
|
8
|
-
def
|
9
|
-
|
10
|
-
|
8
|
+
def initialize(server, project, environment, version)
|
9
|
+
@server = server
|
10
|
+
@project = project
|
11
|
+
@environment = environment
|
12
|
+
@version = version
|
13
|
+
end
|
14
|
+
|
15
|
+
def deploy
|
16
|
+
deploy_data = JSON.parse((RestClient.post "http://#{@server}/deploy", { :project => @project, :environment => @environment, :version => @version }.to_json, :content_type => :json, :accept => :json))
|
17
|
+
get_deploy_logs(deploy_data['id'])
|
11
18
|
end
|
12
19
|
|
13
|
-
def
|
20
|
+
def get_deploy_logs(deploy_id)
|
21
|
+
finished = false
|
14
22
|
start_id = "000000000000000000000000"
|
15
|
-
|
16
|
-
|
23
|
+
|
24
|
+
while not finished
|
25
|
+
logs = JSON.parse(RestClient.get( "http://#{@server}/logs/#{deploy_id}/?start_id=#{start_id}", :accept => :json), :symbolize_keys => true)
|
17
26
|
logs.each do |row|
|
18
|
-
puts row
|
27
|
+
puts "#{row[:log_type]} #{row[:message]}"
|
28
|
+
STDOUT.flush
|
29
|
+
finished = true if row[:log_type] = "completion"
|
19
30
|
end
|
31
|
+
sleep 1
|
20
32
|
end
|
21
33
|
end
|
22
34
|
|
@@ -24,4 +36,6 @@ module Dploy
|
|
24
36
|
|
25
37
|
end
|
26
38
|
|
27
|
-
|
39
|
+
|
40
|
+
deployer = Dploy::Client.new("dploy.internal.stylesaint.com:3000", "community", "test", ENV['VERSION'])
|
41
|
+
deployer.deploy
|
data/lib/dploy/logger.rb
CHANGED
@@ -9,21 +9,21 @@ module Dploy
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def debug(message, metadata = {})
|
12
|
-
metadata.merge({:log_type => 'debug' })
|
12
|
+
metadata = metadata.merge({:log_type => 'debug' })
|
13
13
|
log(message, metadata)
|
14
14
|
end
|
15
15
|
|
16
16
|
def error(message, metadata = {})
|
17
|
-
metadata.merge({:log_type => '
|
17
|
+
metadata = metadata.merge({:log_type => 'error' })
|
18
18
|
log(message, metadata)
|
19
19
|
end
|
20
20
|
|
21
21
|
def completion(message, metadata = {})
|
22
|
-
metadata.merge({:log_type => '
|
22
|
+
metadata = metadata.merge({:log_type => 'completion' })
|
23
23
|
log(message, metadata)
|
24
24
|
end
|
25
25
|
|
26
|
-
def get_messages(
|
26
|
+
def get_messages(start_id = "000000000000000000000000")
|
27
27
|
@log.find(:_id => {"$gt" => BSON::ObjectId(start_id)}).map {|row| row}
|
28
28
|
end
|
29
29
|
|
data/lib/dploy/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-11-04 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: aws-sdk
|
16
|
-
requirement: &
|
16
|
+
requirement: &16246120 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *16246120
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: chef
|
27
|
-
requirement: &
|
27
|
+
requirement: &16245620 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *16245620
|
36
36
|
description: deploymoent module for chef and aws
|
37
37
|
email:
|
38
38
|
- james@stylesaint.com
|