sumodev 0.1.8 → 0.1.9
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/sumodev/commands/project.rb +85 -0
- data/lib/sumodev/commands/push.rb +1 -1
- data/lib/sumodev/config.rb +29 -0
- data/lib/sumodev/version.rb +1 -1
- data/lib/sumodev.rb +2 -0
- metadata +26 -43
- checksums.yaml +0 -15
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -1
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'sumodev/command'
|
2
|
+
require 'sumodev/config'
|
3
|
+
|
4
|
+
class Sumodev::Commands::Project < Sumodev::Command
|
5
|
+
namespace :project
|
6
|
+
|
7
|
+
desc 'get REPO stage', "fetches a project"
|
8
|
+
|
9
|
+
no_commands do
|
10
|
+
def get_client(path)
|
11
|
+
return get_var(path, "client")
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_project(path)
|
15
|
+
return get_var(path, "project")
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_var(path, field)
|
19
|
+
File.readlines(path).each do |line|
|
20
|
+
# match = Regexp.new(":''#{field},\s*\"(.*?)\"").match(line)
|
21
|
+
match = Regexp.new(":#{field},\s*\"(.*?)\"").match(line)
|
22
|
+
if match != nil && match.length > 0
|
23
|
+
return match[1]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
return false
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def get(repo, stage="staging")
|
32
|
+
say "Cloning repo #{repo}", :green
|
33
|
+
|
34
|
+
tmp_path = File.expand_path(Sumodev::Config.get('SUMO_TEMP_PATH'));
|
35
|
+
|
36
|
+
system "rm -rf #{tmp_path}/temp_project"
|
37
|
+
system "git clone -q #{repo} #{tmp_path}/temp_project 2> /dev/null"
|
38
|
+
|
39
|
+
capfile_path = "#{tmp_path}/temp_project/Capfile"
|
40
|
+
if File.file?(capfile_path)
|
41
|
+
content = File.read(capfile_path)
|
42
|
+
|
43
|
+
if content.include?("set :client") and content.include?("set :project")
|
44
|
+
client = get_client(capfile_path)
|
45
|
+
project = get_project(capfile_path)
|
46
|
+
sites_path = File.expand_path(Sumodev::Config.get('SUMO_SITES_PATH'))
|
47
|
+
project_path = File.expand_path("#{sites_path}/#{client}/#{project}")
|
48
|
+
|
49
|
+
if File.directory?(project_path)
|
50
|
+
say "Project folder already exists, so can't continue", :red
|
51
|
+
else
|
52
|
+
say "Creating and moving everything into place", :green
|
53
|
+
system "mkdir -p #{project_path}; cd #{project_path}"
|
54
|
+
system "shopt -s dotglob; mv #{tmp_path}/temp_project/* #{project_path}"
|
55
|
+
|
56
|
+
gemfile_path = "#{project_path}/Gemfile"
|
57
|
+
if File.file?(gemfile_path)
|
58
|
+
say "Installing gems", :green
|
59
|
+
system "cd #{project_path}; bundle install"
|
60
|
+
end
|
61
|
+
|
62
|
+
composer_path = "#{project_path}/composer.json"
|
63
|
+
say #{composer_path}
|
64
|
+
if File.file?(composer_path)
|
65
|
+
say "Installing dependencies", :green
|
66
|
+
system "cd #{project_path}; composer install"
|
67
|
+
end
|
68
|
+
|
69
|
+
say "Grabbing data", :green
|
70
|
+
system "cd #{project_path}; cap #{stage} sumodev:db:get"
|
71
|
+
system "cd #{project_path}; cap #{stage} sumodev:files:get"
|
72
|
+
|
73
|
+
say "Change location to the project", :green
|
74
|
+
Dir.chdir project_path # @todo defv this doesn't work
|
75
|
+
|
76
|
+
say "All done", :green
|
77
|
+
end
|
78
|
+
else
|
79
|
+
say "No client/project defined, so can't continue", :red
|
80
|
+
end
|
81
|
+
else
|
82
|
+
say "No Capfile, so can't continue", :red
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -15,7 +15,7 @@ class Sumodev::Commands::Push < Thor::Group
|
|
15
15
|
Mathias = {:groups => ['developer'], :identity => 'mathias@sumocoders.be', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDLBHWXILbcsYfoDYCgJq4B3Q9ElcZq0hRWo8otXWsOP1pYU8Kq2thWbIB+RkuZr8Y7DMI2XtGXSquWJdx0Beddxt+yVoE/eReorVuB74bnEVXYtcZ8+mNHU6paC1T4XHMWjEXSgaEaSPdxnQxPPzQ+YDuJkYWaCrLxDyWe4sqio0R5SA5CasTkei5dHIfIzj8a16JvTj/FlbNrGHzdSwWY04QoSRdN3rpWJ4krzlHz5NIJmBhUxW15d9NgmKPGJYHmUyY1nfXdb82/zUS1vt6A/46hMJzRXhQuxzNVNBFN2q8d/bXhsNW6AZ467auWO3NLBUOfGHMX+Ga6FQiyCdhd', :protocol => 'rsa'}
|
16
16
|
Jonas = {:groups => ['developer'], :identity => 'jonas@sumocoders.be', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDM4PlwtAMTRW78OsIdmeHhWKxeJ6GvYN/06OJsRpdvqcviDkghgHlB5hDz9ceMb96WUuIJQi/UFM6DcED4md4GVKoql8NmV3upaI6J+K6LPVIBfBG5C9S/NCXAInQozBisvfqNU5rRsh06HCsEnAMIOkgyqX/ZSgwat0XqfL/7w7NLT2QC1Zp08HbTJauFMljzGz6RErWlfy3XYTpMJA6Cnj9S2qn2/7wuGavLJrIo5swKqabO2SFV0MERgmTmPjDHYJoCffZjF2r8fG2NjZWVlPNuqesWP0wNlKvkFVRU3XYB7hsNjolCNzxAw3SjaqyuHo3RDvgks6gs2GSh8iev', :protocol => 'rsa'}
|
17
17
|
TVin = {:groups => ['developer'], :identity => 'tvin@sumocoders.be', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDVOuVuGneKgpUQJ04SESLX7e+MiZvDvC55fFr6v/EXPCt+yDYOZRsYD1y/7ZSI9cZ7WSIfMkc3EN/yTA0qJaJC5nRYJIUUeGb/Kn7ufN1C48uTmSZBDKuvI4GNSwJWH+FjcSF9nrm1IcuV711NHEswC6QEfeVMuoAJG3OuD79uqA5CLNgGc6UzoIy11stiYvrIKvOPytWny3NCm543rj2r0c1FerhFh1WaAo3JKnnx0LVhiKyOmjHXYA9ayp+m0eoDGfs80gmlPrc/9HYu5c4YARqo5PPLUHacacmzD8y4DW4p9yNomgZ+b6nsbi2Q+ljjJkUeSE35OSed8KM2kYjP', :protocol => 'rsa'}
|
18
|
-
Toon = {:groups => ['developer'], :identity => 'toon@sumocoders.be', :key => '
|
18
|
+
Toon = {:groups => ['developer'], :identity => 'toon@sumocoders.be', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDj58FxlLxFS9Ul8qeQU2OU48VLWccVdvtkDcjyg9jtc3yhABu/HfZf7lISonIEHFr7YVifE5d1zHWhKfjq5IETv5dklfac2KUSvgr1f7P8SuLQ8l4ydMasuYr5nbhBihEgic8ulBFFu3lex1ogsfuyB30ach6unP1lSP9qMVJDsjnsFkl6tIXFN5PuqMsEkq7OW7OPMwTKpA3TYBSbbULBfRmJUzdIOUoteSu5GXOoDcI7ztTBfa/ypuZL8Al+G9ihbOShMUkpI7ZFSQ+Wm8Hgst6NqX+TzZ49sF+3wayRsoFQg8O1a76INxM/7PeVHJxyBb5qi0jvGwXuJqrWX9E5', :protocol => 'rsa'}
|
19
19
|
|
20
20
|
def replace_keys
|
21
21
|
connect do |ssh|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
|
3
|
+
class Sumodev::Config
|
4
|
+
include Singleton
|
5
|
+
|
6
|
+
attr_accessor :variables
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
sumofile_path = File.expand_path("~/.sumorc")
|
10
|
+
|
11
|
+
if File.file?(sumofile_path)
|
12
|
+
@variables = File.readlines(sumofile_path).inject({}) do |env,line|
|
13
|
+
line = line.strip.gsub('export', '')
|
14
|
+
name, value = line.split("=", 2)
|
15
|
+
env.merge name.strip => value.strip.tr("'\"", '')
|
16
|
+
end
|
17
|
+
else
|
18
|
+
raise("No .sumorc-file found in ~/.sumorc")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.get(*args)
|
23
|
+
instance.get(*args)
|
24
|
+
end
|
25
|
+
|
26
|
+
def get(name)
|
27
|
+
@variables[name]
|
28
|
+
end
|
29
|
+
end
|
data/lib/sumodev/version.rb
CHANGED
data/lib/sumodev.rb
CHANGED
@@ -7,11 +7,13 @@ class Sumodev < Thor
|
|
7
7
|
autoload :Ssh, 'sumodev/commands/ssh'
|
8
8
|
autoload :Factr, 'sumodev/commands/factr'
|
9
9
|
autoload :Push, 'sumodev/commands/push'
|
10
|
+
autoload :Project, 'sumodev/commands/project'
|
10
11
|
end
|
11
12
|
|
12
13
|
register Commands::Fork, 'fork', 'fork <command>', 'All commands concerning Fork applications'
|
13
14
|
register Commands::Ssh, 'ssh', 'ssh <server>', 'SSH access to servers'
|
14
15
|
register Commands::Factr, 'factr', 'factr <command>', 'All commands concerning Factr'
|
15
16
|
register Commands::Push, 'push', 'push <server>', 'Push the SSH keys to the server'
|
17
|
+
register Commands::Project, 'project', 'project <command>', 'All commands concerning projects'
|
16
18
|
end
|
17
19
|
|
metadata
CHANGED
@@ -1,100 +1,80 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sumodev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Jan De Poorter
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURWRENDQWp5Z0F3SUJB
|
13
|
-
Z0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREE0TVF3d0NnWURWUVFEREFOcVlX
|
14
|
-
NHgKRkRBU0Jnb0praWFKay9Jc1pBRVpGZ1JrWldaMk1SSXdFQVlLQ1pJbWla
|
15
|
-
UHlMR1FCR1JZQ1ltVXdIaGNOTVRNdwpOakF6TURreE5qQXlXaGNOTVRRd05q
|
16
|
-
QXpNRGt4TmpBeVdqQTRNUXd3Q2dZRFZRUUREQU5xWVc0eEZEQVNCZ29KCmtp
|
17
|
-
YUprL0lzWkFFWkZnUmtaV1oyTVJJd0VBWUtDWkltaVpQeUxHUUJHUllDWW1V
|
18
|
-
d2dnRWlNQTBHQ1NxR1NJYjMKRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFE
|
19
|
-
WlkwSHQ2TkZGN1RxZ2RRODAxTDl0bWFjSjRuR05KQXJlbnBnNApyNjQyNmM2
|
20
|
-
aUw0REJkTzNGS25kUVdFdlNCZXFiVWYxQUVUbllOdzFOMGJvUndPWjZtaGRC
|
21
|
-
bUhaZk4zMG5TQVVsCmQ3aERCSzdjUCtHd0hsK1VVdnU4cmUrQU45bUc0NU9W
|
22
|
-
SndOSElNTlhUMHp4RG5hUkRmeEhNelMySnN4Z1VZWHcKeHVPZUhtSVA4cHFD
|
23
|
-
ZWFiVDRhREc5cmVUV2thSjR2K3RVU3FuVjRTVnhBTTZveFN2RmRRZVJYaTFo
|
24
|
-
aDJKMGswcApDYUEzQWw0Z1hKUFFjRGd2UTJFTXRNbHlCZFZ1Ulh4NkVpRzlS
|
25
|
-
V1ViSUUwOTlTN2w5d2dpUGQ0KzdYV2YvSkhlCkliTTVUb2pOWk51cG80M1Fj
|
26
|
-
VjMxOHZSZjF0RFA2dEpMNWZ4VjZMVFdySnpHWmJMdEFnTUJBQUdqYVRCbk1B
|
27
|
-
a0cKQTFVZEV3UUNNQUF3Q3dZRFZSMFBCQVFEQWdTd01CMEdBMVVkRGdRV0JC
|
28
|
-
U3kxMWtLeHFoNkU3LzErd09USFBKbgo4RXBlRnpBV0JnTlZIUkVFRHpBTmdR
|
29
|
-
dHFZVzVBWkdWbWRpNWlaVEFXQmdOVkhSSUVEekFOZ1F0cVlXNUFaR1ZtCmRp
|
30
|
-
NWlaVEFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBZVJnbk1FQ21Ya3NvVjNT
|
31
|
-
OUhtdXBaRnNOWUV3dnlPOEUKem1HMVU0ajlybGVFV1JqS0xWalhkZmd5TG9l
|
32
|
-
MnVtUlpwakpGR3dxaHdqYnNLV3U5eWFoRzlWZXRjWWVkSDEyYQp0bVUwMzNL
|
33
|
-
SEdPei92UUtndTQ4Wnovckd6amZkSjU0a2FTRVB1MEFsMzV6c2RveFpIV21Q
|
34
|
-
K2Jod1k4RE4yOGFOCjNkclpjMHhBL0t2N0hpaUpsSmkxNDBjZVFySGd2RlIv
|
35
|
-
UzExR1hQVFBtQ1NWMFczQnhIc0p1Vm1hUDYxaEppa1AKSU4ybUZwRkw4ckFk
|
36
|
-
eklzc2g3ejFsU285QUgwMGs2cm5uSHEzOFRmdmorWndOSGw1RENCVzgxYmYy
|
37
|
-
UzZSM2QzWQpFdlVIWS9tcmZNY3NYUWJ3aVdXeFBzL2R6TDhSbFhFcGhZeDlz
|
38
|
-
N0VyUk11ck9GUm5ZZ3dDZ0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t
|
39
|
-
Cg==
|
40
|
-
date: 2013-10-10 00:00:00.000000000 Z
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-12-09 00:00:00.000000000 Z
|
41
13
|
dependencies:
|
42
14
|
- !ruby/object:Gem::Dependency
|
43
15
|
name: activesupport
|
44
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
45
18
|
requirements:
|
46
19
|
- - ! '>='
|
47
20
|
- !ruby/object:Gem::Version
|
48
21
|
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
49
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
50
26
|
requirements:
|
51
27
|
- - ! '>='
|
52
28
|
- !ruby/object:Gem::Version
|
53
29
|
version: '0'
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
30
|
- !ruby/object:Gem::Dependency
|
57
31
|
name: thor
|
58
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
59
34
|
requirements:
|
60
35
|
- - ! '>='
|
61
36
|
- !ruby/object:Gem::Version
|
62
37
|
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
63
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
64
42
|
requirements:
|
65
43
|
- - ! '>='
|
66
44
|
- !ruby/object:Gem::Version
|
67
45
|
version: '0'
|
68
|
-
type: :runtime
|
69
|
-
prerelease: false
|
70
46
|
- !ruby/object:Gem::Dependency
|
71
47
|
name: net-ssh
|
72
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
73
50
|
requirements:
|
74
51
|
- - ! '>='
|
75
52
|
- !ruby/object:Gem::Version
|
76
53
|
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
77
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
78
58
|
requirements:
|
79
59
|
- - ! '>='
|
80
60
|
- !ruby/object:Gem::Version
|
81
61
|
version: '0'
|
82
|
-
type: :runtime
|
83
|
-
prerelease: false
|
84
62
|
- !ruby/object:Gem::Dependency
|
85
63
|
name: net-scp
|
86
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
87
66
|
requirements:
|
88
67
|
- - ! '>='
|
89
68
|
- !ruby/object:Gem::Version
|
90
69
|
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
91
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
92
74
|
requirements:
|
93
75
|
- - ! '>='
|
94
76
|
- !ruby/object:Gem::Version
|
95
77
|
version: '0'
|
96
|
-
type: :runtime
|
97
|
-
prerelease: false
|
98
78
|
description: A command line tool to access all things you want
|
99
79
|
email: jan@sumocoders.be
|
100
80
|
executables:
|
@@ -107,8 +87,10 @@ files:
|
|
107
87
|
- lib/sumodev/command.rb
|
108
88
|
- lib/sumodev/commands/factr.rb
|
109
89
|
- lib/sumodev/commands/fork.rb
|
90
|
+
- lib/sumodev/commands/project.rb
|
110
91
|
- lib/sumodev/commands/push.rb
|
111
92
|
- lib/sumodev/commands/ssh.rb
|
93
|
+
- lib/sumodev/config.rb
|
112
94
|
- lib/sumodev/generator.rb
|
113
95
|
- lib/sumodev/generators/fork/v3.rb
|
114
96
|
- lib/sumodev/generators/general/capistrano.rb
|
@@ -120,25 +102,26 @@ files:
|
|
120
102
|
- Gemfile.lock
|
121
103
|
homepage:
|
122
104
|
licenses: []
|
123
|
-
metadata: {}
|
124
105
|
post_install_message:
|
125
106
|
rdoc_options: []
|
126
107
|
require_paths:
|
127
108
|
- lib
|
128
109
|
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
129
111
|
requirements:
|
130
112
|
- - ! '>='
|
131
113
|
- !ruby/object:Gem::Version
|
132
114
|
version: '0'
|
133
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
134
117
|
requirements:
|
135
118
|
- - ! '>='
|
136
119
|
- !ruby/object:Gem::Version
|
137
120
|
version: '0'
|
138
121
|
requirements: []
|
139
122
|
rubyforge_project:
|
140
|
-
rubygems_version:
|
123
|
+
rubygems_version: 1.8.23
|
141
124
|
signing_key:
|
142
|
-
specification_version:
|
125
|
+
specification_version: 3
|
143
126
|
summary: SumoCoders Developers gem
|
144
127
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
NTQzODQyMTFhMjQ1OGNmMzI3M2YwNzkxN2FmZGNiMjkyM2JjM2YxMQ==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YTViODUyYzA2ZGNjMTQ0NjZlMGM4OTg2ZGNiY2U2MmU3MWRmNzFhMQ==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
MGNmYzk5Mzg5M2JhNDdjNWZmNzk1ODIzZjJhNWU0MDdkZTNiZWU2MWNmZDRk
|
10
|
-
YmE2OTA5OTgwNmFiMmRiZGVlNzQ3YWFmOWFkODIwMzI1NjRmYTk0ZjJjOWY5
|
11
|
-
MDc2MjEwMDllMWU3MDUxYjNlNzEzZDBhM2RhNTI5NmM0YWQ1ZjM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MGZiYTg5ODNhYWQ3OTRiNThmNzUyMjhhNGQzOGM1ZGEyNDFkNTY1MGZlZGZl
|
14
|
-
ZGJmYTI4MTgyMWUwYTVlZDIyYTA3NjBhM2JiYmQ5NzIzOTMwZDU0NjdkZGJh
|
15
|
-
OGU4MTYyMDE3N2U5ODQ1OTI1ZTc5OTk2MzM1NDVkM2I1MzU1M2Q=
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
8�S�M7ԃ�Q}�8x�b|�v��5��H��ίg�!Z>�����2-������f�c�){YӭGmv��-���?�t����&|����.��R8�g���i���i�j�z)�%���IL?}���PH���>>dV��V��,(�1�A��5�c�nس��B�&���e���±�߰�:Sd�M'�y*h�+�!�R+�e����nk��#:�]8��E����>��t�:ZԎ(�0П텀G5���
|