generators_rails 0.0.5 → 0.0.6
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.
- 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
|