generators_rails 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/docker/config/templates/docker.rake +24 -20
- data/lib/generators/rancher/config/config_generator.rb +1 -1
- data/lib/generators/rancher/config/templates/rancher.rake +9 -6
- data/lib/generators/rspec/config/config_generator.rb +7 -6
- data/lib/generators_rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bce5f73364ba24b1b66155736aca185e1d43163
|
4
|
+
data.tar.gz: 573a30d54a8543220ac3c99f6bc606ae6be66300
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65ef6d1b5f5e923264a97f1577860e5e517230c5b87320ae832fb0e20870c449bd2b747ad1277d07e118467df274dd0d718a217144ac1f6d618df26e63c558ac
|
7
|
+
data.tar.gz: e1df0756e198ad98d27dede109a9440b5de5fb8b0f17eaf58ef3bd7bb9b00c8b669ecac79a29e0dc098ed50b6e4e9013bff52eee6e3511cffe013721c7864213
|
@@ -9,8 +9,8 @@ end
|
|
9
9
|
|
10
10
|
class Hash
|
11
11
|
def method_missing(methodname, *params)
|
12
|
-
if self.class == Hash
|
13
|
-
self[methodname.to_s]
|
12
|
+
if self.class == Hash
|
13
|
+
self[methodname]||self[methodname.to_s]
|
14
14
|
else
|
15
15
|
super
|
16
16
|
end
|
@@ -20,19 +20,21 @@ end
|
|
20
20
|
namespace :docker do
|
21
21
|
config = JSON.parse(File.read('docker/dockerconfig.json'))
|
22
22
|
TAG = ENV['TAG'] || 'latest'
|
23
|
-
|
23
|
+
debug_yml = ENV['DEBUG_YAML'] || config.debug_yml
|
24
|
+
prod_yml = ENV['PROD_YAML'] || config.prod_yml
|
25
|
+
docker_repo = ENV['DOCKER_REPO'] || config.docker_repo
|
24
26
|
task :bash, [:service] do |_t, args|
|
25
|
-
exec_cmd("TAG=#{TAG} docker-compose -f #{
|
27
|
+
exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} exec #{args[:service] || config.service_name} #{config.shell_command}")
|
26
28
|
end
|
27
29
|
|
28
30
|
desc 'destroy all services container'
|
29
31
|
task :down do |_t, _args|
|
30
|
-
exec_cmd("TAG=#{TAG} docker-compose -f #{
|
32
|
+
exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} down")
|
31
33
|
end
|
32
34
|
|
33
35
|
desc 'run test with docker'
|
34
36
|
task test: :up do
|
35
|
-
exec_cmd("TAG=#{TAG} docker-compose -f #{
|
37
|
+
exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} exec #{config.service_name} #{config.test_command}")
|
36
38
|
end
|
37
39
|
|
38
40
|
desc 'run rspec with docker'
|
@@ -41,22 +43,22 @@ namespace :docker do
|
|
41
43
|
|
42
44
|
desc 'start service with docker with prod env'
|
43
45
|
task :run do
|
44
|
-
exec_cmd("TAG=#{TAG}
|
46
|
+
exec_cmd("TAG=#{TAG} dockese -f #{prod_yml} up -d")
|
45
47
|
end
|
46
48
|
|
47
49
|
desc 'start service with docker in debug mode '
|
48
50
|
task :up do
|
49
|
-
exec_cmd("TAG=#{TAG} docker-compose -f #{
|
51
|
+
exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} up -d")
|
50
52
|
end
|
51
53
|
|
52
54
|
desc 'debug service with docker '
|
53
55
|
task debug: :up do
|
54
|
-
exec_cmd("TAG=#{TAG} docker-compose -f #{
|
56
|
+
exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} exec #{config.service_name} #{config.up_command}")
|
55
57
|
end
|
56
58
|
|
57
59
|
desc 'rubocop service with docker '
|
58
60
|
task lint: :up do
|
59
|
-
exec_cmd("TAG=#{TAG} docker-compose -f #{
|
61
|
+
exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} exec -T #{config.service_name} #{config.lint_command}")
|
60
62
|
end
|
61
63
|
|
62
64
|
desc 'gitpull'
|
@@ -66,7 +68,7 @@ namespace :docker do
|
|
66
68
|
|
67
69
|
desc 'precheck before release'
|
68
70
|
task precommit: %i[lint test gitpull] do |_t, _args|
|
69
|
-
exec_cmd("TAG=#{TAG} docker-compose -f #{
|
71
|
+
exec_cmd("TAG=#{TAG} docker-compose -f #{debug_yml} down")
|
70
72
|
hammer.say 'Precommit succeed.'
|
71
73
|
end
|
72
74
|
|
@@ -78,17 +80,17 @@ namespace :docker do
|
|
78
80
|
|
79
81
|
desc 'release docker image '
|
80
82
|
task :release do |_t, _args|
|
81
|
-
|
82
|
-
|
83
|
-
|
83
|
+
if `TAG=#{TAG} docker images -f reference=#{config.image_name}:#{TAG} -q`.chop.empty?
|
84
|
+
hammer.say('There is no local image for push')
|
85
|
+
else
|
86
|
+
remote_image = "#{docker_repo}/#{config.image_name}:#{TAG}"
|
87
|
+
tag_cmd = "TAG=#{TAG} docker tag #{config.image_name}:#{TAG} #{remote_image}"
|
84
88
|
exec_cmd(tag_cmd)
|
85
89
|
push_cmd = "TAG=#{TAG} docker push #{remote_image}"
|
86
90
|
exec_cmd(push_cmd)
|
87
91
|
rmi_cmd = "TAG=#{TAG} docker rmi #{remote_image}"
|
88
92
|
exec_cmd(rmi_cmd)
|
89
93
|
hammer.say('pls commit code and push it manually!!')
|
90
|
-
else
|
91
|
-
hammer.say('There is no local image for push')
|
92
94
|
end
|
93
95
|
end
|
94
96
|
desc 'show docker config'
|
@@ -101,7 +103,7 @@ namespace :docker do
|
|
101
103
|
desc 'parse dockerfile and docker-compose'
|
102
104
|
task :parse do
|
103
105
|
match = ->(rexp) { File.open(config.docker_file).grep(rexp).first.match(rexp)[1] }
|
104
|
-
service_config = YAML.load_file(
|
106
|
+
service_config = YAML.load_file(prod_yml)
|
105
107
|
image = service_config['services'][config.service_name]['image'].match(/((.*)\/)?(.*)/)
|
106
108
|
image_name = image[3].gsub('${TAG}', ENV['TAG'] || 'latest')
|
107
109
|
last_build_time = `docker inspect -f '{{ .Created }}' #{image_name}`.chop
|
@@ -131,9 +133,11 @@ namespace :docker do
|
|
131
133
|
|
132
134
|
private
|
133
135
|
|
134
|
-
def exec_cmd(cmdstr)
|
135
|
-
hammer.say cmdstr
|
136
|
-
hammer.run(cmdstr)
|
136
|
+
def exec_cmd(*cmdstr, **opt)
|
137
|
+
hammer.say cmdstr.join(' ')
|
138
|
+
ret = hammer.run(cmdstr.join(' '), opt)
|
139
|
+
exit -1 unless ret
|
140
|
+
ret
|
137
141
|
end
|
138
142
|
|
139
143
|
def hammer
|
@@ -8,8 +8,8 @@ end
|
|
8
8
|
|
9
9
|
class Hash
|
10
10
|
def method_missing(methodname, *params)
|
11
|
-
if self.class == Hash
|
12
|
-
self[methodname.to_s]
|
11
|
+
if self.class == Hash
|
12
|
+
self[methodname]||self[methodname.to_s]
|
13
13
|
else
|
14
14
|
super
|
15
15
|
end
|
@@ -17,14 +17,14 @@ class Hash
|
|
17
17
|
end
|
18
18
|
|
19
19
|
namespace :rancher do
|
20
|
-
rancherconfig = 'rancher/rancherconfig.json'
|
20
|
+
rancherconfig = ENV['RANCHER_CONFIG'] || 'rancher/rancherconfig.json'
|
21
21
|
dockerconfig = 'docker/dockerconfig.json'
|
22
22
|
config = File.exist?(rancherconfig) ? JSON.parse(File.read(rancherconfig)) : {}
|
23
23
|
docker_config = JSON.parse(File.read(dockerconfig))
|
24
|
-
docker_file = '
|
24
|
+
docker_file = ENV['RANCHER_DOCKER_FILE'] || docker_config.rancher_yml || docker_config.prod_yml
|
25
25
|
rancher_file = 'rancher/rancher-compose.yml'
|
26
26
|
tag = ENV['TAG'] || 'latest'
|
27
|
-
RANCHER = "rancher -c #{rancherconfig}"
|
27
|
+
RANCHER = "rancher -c #{rancherconfig}".freeze
|
28
28
|
File.write('rancher/.env.tmp', "TAG=#{tag}")
|
29
29
|
RANCHER_UP = [
|
30
30
|
RANCHER,
|
@@ -87,6 +87,7 @@ namespace :rancher do
|
|
87
87
|
exec_cmd(RANCHER_UP,
|
88
88
|
'--force-upgrade',
|
89
89
|
'--pull',
|
90
|
+
'-d',
|
90
91
|
_args[:service] || docker_config.service_name)
|
91
92
|
end
|
92
93
|
|
@@ -188,7 +189,9 @@ namespace :rancher do
|
|
188
189
|
|
189
190
|
def exec_cmd(*cmdstr, **opt)
|
190
191
|
hammer.say cmdstr.join(' ')
|
191
|
-
hammer.run(cmdstr.join(' '), opt)
|
192
|
+
ret = hammer.run(cmdstr.join(' '), opt)
|
193
|
+
exit -1 unless ret
|
194
|
+
ret
|
192
195
|
end
|
193
196
|
|
194
197
|
def hammer
|
@@ -7,6 +7,7 @@ module Rspec
|
|
7
7
|
gem 'spring-commands-rspec'
|
8
8
|
gem_group :test, :development do
|
9
9
|
gem 'rspec-rails'
|
10
|
+
gem 'factory_girl'
|
10
11
|
gem 'factory_girl_rails'
|
11
12
|
gem 'database_cleaner'
|
12
13
|
gem 'faker'
|
@@ -54,15 +55,15 @@ module Rspec
|
|
54
55
|
RSpec.configure do |config|
|
55
56
|
config.use_transactional_fixtures = false
|
56
57
|
config.include FactoryGirl::Syntax::Methods
|
58
|
+
config.fail_fast = true
|
57
59
|
config.before(:suite) do
|
58
60
|
DatabaseCleaner.strategy = :#{strategy}
|
59
|
-
DatabaseCleaner.clean_with(:truncation)
|
60
61
|
end
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
62
|
+
config.before(:each) do
|
63
|
+
DatabaseCleaner.start
|
64
|
+
end
|
65
|
+
config.after(:each) do
|
66
|
+
DatabaseCleaner.clean_with(:truncation, except: %w[])
|
66
67
|
end
|
67
68
|
end
|
68
69
|
CODE
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: generators_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- shaoyang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-10-
|
11
|
+
date: 2017-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|