ongr_deploy 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/lib/ongr_deploy/aws.rb +29 -0
- data/lib/ongr_deploy/core.rb +35 -0
- data/lib/ongr_deploy/version.rb +1 -1
- data/lib/ongr_deploy.rb +4 -32
- data/lib/tasks/scm/rsync.rake +28 -0
- metadata +43 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58ba2567e8f29b31625b37cc65bc3f377c29381f
|
4
|
+
data.tar.gz: 0cf74b33aff48f6f8cce1480cb6a661668598c50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc93ccf6f53aef068dc2a4beedeeee3e86aa131ba34fb6d8844629fd3e0a640dc59e1d25ff1744769e7f1ae7a864bafbee5036c505df32d7813d1974fae700b4
|
7
|
+
data.tar.gz: a8c53d6e665c28ba5b5c7aedb209fed8f57503f829324f239879095b5dd6b79b4eebf84a82e7a72bb6a1509c3a1a0dd28a10102ff15096dce019e02ad59824f0
|
data/LICENSE
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
require "aws-sdk"
|
2
|
+
|
3
|
+
module OngrDeploy
|
4
|
+
|
5
|
+
module Aws
|
6
|
+
|
7
|
+
def autoscale( name, *args )
|
8
|
+
::Aws.config.update(
|
9
|
+
{
|
10
|
+
region: fetch( :aws_region ),
|
11
|
+
credentials: ::Aws::Credentials.new( fetch( :aws_id ), fetch( :aws_secret ) )
|
12
|
+
}
|
13
|
+
)
|
14
|
+
|
15
|
+
ec2_client = ::Aws::EC2::Client.new
|
16
|
+
autoscale_client = ::Aws::AutoScaling::Client.new
|
17
|
+
|
18
|
+
autoscale = ::Aws::AutoScaling::AutoScalingGroup.new name, autoscale_client
|
19
|
+
|
20
|
+
autoscale.instances.each do |i|
|
21
|
+
instance = ::Aws::EC2::Instance.new i.id, client: ec2_client
|
22
|
+
|
23
|
+
server instance.private_ip_address, *args
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module OngrDeploy
|
2
|
+
|
3
|
+
module Core
|
4
|
+
|
5
|
+
def ongr_setup
|
6
|
+
set :stage_config_path, "app/deploy"
|
7
|
+
set :deploy_config_path, "app/deploy.rb"
|
8
|
+
|
9
|
+
require "capistrano/setup"
|
10
|
+
|
11
|
+
stages.each do |stage|
|
12
|
+
Rake::Task[stage].clear_actions
|
13
|
+
|
14
|
+
Rake::Task.define_task( stage ) do
|
15
|
+
invoke "load:defaults"
|
16
|
+
|
17
|
+
load deploy_config_path
|
18
|
+
load stage_config_path.join "#{stage}.rb"
|
19
|
+
|
20
|
+
begin
|
21
|
+
load File.expand_path( "../scm/#{fetch( :scm )}.rb", __FILE__ )
|
22
|
+
rescue LoadError
|
23
|
+
load "capistrano/#{fetch( :scm )}.rb"
|
24
|
+
end
|
25
|
+
|
26
|
+
I18n.locale = fetch :locale, :en
|
27
|
+
|
28
|
+
configure_backend
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
data/lib/ongr_deploy/version.rb
CHANGED
data/lib/ongr_deploy.rb
CHANGED
@@ -1,35 +1,7 @@
|
|
1
|
-
|
1
|
+
require "ongr_deploy/core"
|
2
|
+
require "ongr_deploy/aws"
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
set :deploy_config_path, "app/deploy.rb"
|
6
|
-
|
7
|
-
require "capistrano/setup"
|
8
|
-
|
9
|
-
stages.each do |stage|
|
10
|
-
Rake::Task[stage].clear_actions
|
11
|
-
|
12
|
-
Rake::Task.define_task( stage ) do
|
13
|
-
invoke "load:defaults"
|
14
|
-
|
15
|
-
load deploy_config_path
|
16
|
-
load stage_config_path.join "#{stage}.rb"
|
17
|
-
|
18
|
-
begin
|
19
|
-
load File.expand_path( "../ongr_deploy/scm/#{fetch( :scm )}.rb", __FILE__ )
|
20
|
-
rescue LoadError
|
21
|
-
load "capistrano/#{fetch( :scm )}.rb"
|
22
|
-
end
|
23
|
-
|
24
|
-
I18n.locale = fetch :locale, :en
|
25
|
-
|
26
|
-
configure_backend
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
33
|
-
self.extend OngrDeploy
|
4
|
+
self.extend OngrDeploy::Core
|
5
|
+
self.extend OngrDeploy::Aws
|
34
6
|
|
35
7
|
ongr_setup
|
data/lib/tasks/scm/rsync.rake
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require "yaml"
|
2
|
+
require "deep_merge"
|
3
|
+
|
1
4
|
namespace :rsync do
|
2
5
|
|
3
6
|
def strategy
|
@@ -103,4 +106,29 @@ namespace :deploy do
|
|
103
106
|
invoke :"rsync:pack_release"
|
104
107
|
end
|
105
108
|
|
109
|
+
task :genconf do
|
110
|
+
on release_roles :all do
|
111
|
+
within release_path do
|
112
|
+
fqdn = capture :hostname, "-f"
|
113
|
+
dist = YAML::load File.read( "app/config/parameters.yml.dist" )
|
114
|
+
dist_env = fqdn.include?( "stage" ) ? "stage" : "live"
|
115
|
+
dist_list = ["parameters.yml.#{dist_env}", "parameters.yml.#{dist_env}.#{fqdn[/([a-z\-]+)/,1]}"]
|
116
|
+
|
117
|
+
dist_list.each do |df|
|
118
|
+
if File.exists? "app/config/#{df}"
|
119
|
+
overrides = YAML::load File.read( "app/config/#{df}" )
|
120
|
+
|
121
|
+
dist.deep_merge! overrides
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
content = StringIO.new dist.to_yaml
|
126
|
+
|
127
|
+
execute "cp", "#{fetch(:deploy_to)}/shared/app/config/parameters.yml", "#{fetch(:deploy_to)}/shared/app/config/parameters-#{Time.new.strftime "%Y%m%d%H%M"}.yml"
|
128
|
+
upload! content, "#{fetch(:deploy_to)}/shared/app/config/parameters.yml"
|
129
|
+
execute "chmod", "664", "#{fetch(:deploy_to)}/shared/app/config/parameters.yml"
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
106
134
|
end
|
metadata
CHANGED
@@ -1,29 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ongr_deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Voldemaras Kadys
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.3.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 3.3.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: aws-sdk
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.2.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.2.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: deep_merge
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.0.0
|
27
55
|
description: Capistrano extension
|
28
56
|
email: info@ongr.io
|
29
57
|
executables:
|
@@ -31,21 +59,23 @@ executables:
|
|
31
59
|
extensions: []
|
32
60
|
extra_rdoc_files: []
|
33
61
|
files:
|
34
|
-
- LICENSE
|
35
|
-
- README.rdoc
|
36
|
-
- Rakefile
|
37
62
|
- bin/ongr
|
38
|
-
- lib/ongr_deploy.rb
|
39
63
|
- lib/ongr_deploy/application.rb
|
64
|
+
- lib/ongr_deploy/aws.rb
|
65
|
+
- lib/ongr_deploy/core.rb
|
40
66
|
- lib/ongr_deploy/scm/archive.rb
|
41
67
|
- lib/ongr_deploy/scm/rsync.rb
|
42
68
|
- lib/ongr_deploy/version.rb
|
69
|
+
- lib/ongr_deploy.rb
|
43
70
|
- lib/sample/Capfile
|
44
71
|
- lib/sample/deploy.rb
|
45
72
|
- lib/sample/stage.rb
|
46
73
|
- lib/tasks/ongr_deploy.rake
|
47
74
|
- lib/tasks/scm/archive.rake
|
48
75
|
- lib/tasks/scm/rsync.rake
|
76
|
+
- LICENSE
|
77
|
+
- Rakefile
|
78
|
+
- README.rdoc
|
49
79
|
homepage: https://github.com/ongr-io/ongr_deploy
|
50
80
|
licenses:
|
51
81
|
- MIT
|
@@ -56,17 +86,17 @@ require_paths:
|
|
56
86
|
- lib
|
57
87
|
required_ruby_version: !ruby/object:Gem::Requirement
|
58
88
|
requirements:
|
59
|
-
- -
|
89
|
+
- - '>='
|
60
90
|
- !ruby/object:Gem::Version
|
61
91
|
version: '0'
|
62
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
63
93
|
requirements:
|
64
|
-
- -
|
94
|
+
- - '>='
|
65
95
|
- !ruby/object:Gem::Version
|
66
96
|
version: '0'
|
67
97
|
requirements: []
|
68
98
|
rubyforge_project:
|
69
|
-
rubygems_version: 2.
|
99
|
+
rubygems_version: 2.0.14.1
|
70
100
|
signing_key:
|
71
101
|
specification_version: 4
|
72
102
|
summary: Capistrano extension for Symfony2 & ONGR projects
|