wslave 0.0.17 → 0.0.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/base/.gitignore +4 -0
- data/base/Dockerfile +3 -3
- data/base/config/deploy-tools/gen-nginx-vhost.rb +11 -0
- data/base/config/deploy-tools/nginx.vhost.erb +35 -0
- data/base/config/deploy.rb +1 -1
- data/base/config/deploy/production.rb +43 -8
- data/base/config/deploy/staging.rb +42 -7
- data/templates/config/definitions.yml +3 -1
- data/wslave.gemspec +7 -6
- metadata +52 -6
- data/base/config/deploy/.production.rb.swp +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8df8f2d9fb3ddae0dfbc1d47fdf8107b20c455e3d4eadb15538e1d9483cfcb8
|
4
|
+
data.tar.gz: ab496e09948a4edf41cc828c01a34487cb7a29633c203356b231e967f582d4a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c97f9515d2229be7bfee1b2e1df26347be54f178e47382bf67390651dba0aa10ec1158574e5aedd3e233ec610be25ae9a42afd03f4e27c427ea148780dad21aa
|
7
|
+
data.tar.gz: 9622367e6bd226bc525146f6792fb598220397528055946e393dbc1f1952215b1ade9b90a010420d30748944875105e545f68fa15896a9caddce594c4c3e1ee8
|
data/base/.gitignore
ADDED
data/base/Dockerfile
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
FROM php:
|
1
|
+
FROM php:7.2.6-apache
|
2
2
|
|
3
3
|
RUN a2enmod rewrite
|
4
4
|
RUN service apache2 restart
|
5
5
|
RUN apt-get update \
|
6
|
-
&& apt-get install -y
|
6
|
+
&& apt-get install -y libpng-dev libjpeg-dev mysql-client mysql-common \
|
7
7
|
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
|
8
8
|
&& docker-php-ext-install gd \
|
9
9
|
&& docker-php-ext-install mbstring \
|
10
|
-
&& docker-php-ext-install mysql \
|
10
|
+
# && docker-php-ext-install mysql \
|
11
11
|
&& docker-php-ext-install mysqli \
|
12
12
|
&& docker-php-ext-install pdo \
|
13
13
|
&& docker-php-ext-install pdo_mysql \
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'erb'
|
2
|
+
require 'yaml'
|
3
|
+
require 'ostruct'
|
4
|
+
|
5
|
+
def GenerateNginxConfig(profile = 'production', out_path= './')
|
6
|
+
config_path = File.dirname(File.expand_path(File.dirname(__FILE__)))
|
7
|
+
server = {}
|
8
|
+
#server[:name] =
|
9
|
+
#server[:root] =
|
10
|
+
#server[:php_sock_path] =
|
11
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
server {
|
2
|
+
listen 80;
|
3
|
+
listen [::]:80;
|
4
|
+
|
5
|
+
server_name <%= server[:name] %>;
|
6
|
+
|
7
|
+
root <%= server[:root] %>;
|
8
|
+
|
9
|
+
access_log <%= server[:root] %>/access.log;
|
10
|
+
error_log <%= server[:root] %>/error.log;
|
11
|
+
|
12
|
+
index index.php;
|
13
|
+
|
14
|
+
location / {
|
15
|
+
rewrite ^/(wp-(admin|includes).*) /wordpress/$1 last;
|
16
|
+
|
17
|
+
rewrite ^/$ /wordpress/index.php last;
|
18
|
+
|
19
|
+
location ~ \.php {
|
20
|
+
if ($request_uri !~* "/wp-config.php") {
|
21
|
+
rewrite ^/wp-(.*)\.php$ /wordpress/wp-$1.php last;
|
22
|
+
}
|
23
|
+
rewrite ^/index\.php$ /wordpress/index.php last;
|
24
|
+
rewrite ^/wp-login\.php$ /hello.php last;
|
25
|
+
include snippets/fastcgi-php.conf;
|
26
|
+
fastcgi_pass unix:<%= server[:php_sock_path] %>;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
location ~ /\. {
|
31
|
+
deny all;
|
32
|
+
access_log off;
|
33
|
+
log_not_found off;
|
34
|
+
}
|
35
|
+
}
|
data/base/config/deploy.rb
CHANGED
@@ -5,6 +5,7 @@ opts = YAML.load_file('config/definitions.yml')
|
|
5
5
|
db_info = YAML.load_file('config/database.yml')
|
6
6
|
|
7
7
|
deploy_user = opts['deployer']['user']
|
8
|
+
deploy_group = opts['deployer']['www_data_group']
|
8
9
|
host_addr = opts['deployer']['host']['production']
|
9
10
|
multisite_root = opts['deployer']['root']
|
10
11
|
site_fqdn = opts['deployer']['fqdn']['production']
|
@@ -79,7 +80,10 @@ namespace :deploy do
|
|
79
80
|
desc 'Finds and replaces localhost:8000 and your Staging address with the Production address'
|
80
81
|
task :chikan do
|
81
82
|
on roles(:web) do
|
82
|
-
puts 'Replacing localhost:8000 and
|
83
|
+
puts 'Replacing localhost:8000 and Production URLs with Staging URLs...'
|
84
|
+
|
85
|
+
# Set an anchor to first homogonize instances of URL's, then replace all the anchors
|
86
|
+
anchor = "URL_REPLACEMENT_ANCHOR_00000"
|
83
87
|
|
84
88
|
# Create a backup, download it, and remove remote copy
|
85
89
|
execute "mkdir -p #{deploy_path}/db/tmp"
|
@@ -91,18 +95,45 @@ namespace :deploy do
|
|
91
95
|
# Regex replace in file
|
92
96
|
db_data = File.read('db/tmp/wordpress.sql')
|
93
97
|
|
94
|
-
|
98
|
+
# This may seem roundabout, but in order to avoid mangling the target URL we need to first
|
99
|
+
# replace instances of it with something that won't match
|
100
|
+
db_data = db_data.gsub(/#{opts['deployer']['fqdn']['production']}/, anchor)
|
101
|
+
|
102
|
+
# Set staging URL's to the anchor
|
95
103
|
if opts['deployer']['fqdn']['staging'] != ''
|
96
|
-
db_data = db_data.gsub(/#{opts['deployer']['fqdn']['staging']}/,
|
104
|
+
db_data = db_data.gsub(/#{opts['deployer']['fqdn']['staging']}/, anchor)
|
97
105
|
end
|
98
106
|
|
107
|
+
# Set localhost entries to the anchor
|
108
|
+
db_data = db_data.gsub(/localhost\%3A8000/, anchor)
|
109
|
+
db_data = db_data.gsub(/localhost:8000/, anchor)
|
110
|
+
|
111
|
+
# Replace anchors with the correct target URL
|
112
|
+
db_data = db_data.gsub(anchor, "#{opts['deployer']['fqdn']['production']}")
|
113
|
+
|
114
|
+
# Save results
|
99
115
|
File.open('db/tmp/wordpress.sql', "w") {|file| file.puts db_data }
|
100
116
|
|
101
117
|
# Upload file and seed
|
102
118
|
upload! 'db/tmp/wordpress.sql', "#{deploy_path}/db/tmp/wordpress.sql"
|
103
119
|
execute "mysql -h#{db_info['production']['host']} -u#{db_info['production']['username']} -p#{db_info['production']['password']} #{db_info['production']['database']} < #{deploy_path}/db/tmp/wordpress.sql"
|
104
120
|
execute "rm #{deploy_path}/db/tmp/*.sql"
|
105
|
-
|
121
|
+
|
122
|
+
# Remove work file
|
123
|
+
# `rm db/tmp/wordpress.sql`
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
desc 'Sets ownership permissions'
|
128
|
+
task :set_permissions do
|
129
|
+
on roles(:web) do
|
130
|
+
puts 'Setting permissions'
|
131
|
+
if deploy_group != nil
|
132
|
+
puts "Recrusively setting group to #{deploy_group}..."
|
133
|
+
execute "chown -R :#{deploy_group} #{deploy_path}"
|
134
|
+
puts 'Allowing group level Write permission...'
|
135
|
+
execute "chmod -R g+w #{deploy_path}"
|
136
|
+
end
|
106
137
|
end
|
107
138
|
end
|
108
139
|
|
@@ -125,17 +156,19 @@ namespace :deploy do
|
|
125
156
|
invoke('deploy')
|
126
157
|
invoke('db:seed')
|
127
158
|
invoke('deploy:chikan')
|
159
|
+
invoke('deploy:set_permissions')
|
128
160
|
end
|
129
161
|
end
|
130
162
|
|
131
163
|
desc 'Clear out remote DB tables and delete all remote files in deploy target directory'
|
132
164
|
task :destruct do
|
133
165
|
on roles(:web) do
|
134
|
-
execute "
|
166
|
+
execute "mysql --user=#{db_info['production']['username']} " \
|
167
|
+
"--password=#{db_info['production']['password']} --host=#{db_info['production']['host']} " \
|
168
|
+
"-Nse 'show tables' #{db_info['production']['database']} | " \
|
169
|
+
"while read table; do echo \"drop table $table;\"; done | " \
|
170
|
+
"mysql --user=#{db_info['production']['username']} " \
|
135
171
|
"--password=#{db_info['production']['password']} --host=#{db_info['production']['host']} " \
|
136
|
-
"--add-drop-table --no-data #{db_info['production']['database']} | " \
|
137
|
-
"grep -e '^DROP \| FOREIGN_KEY_CHECKS' | mysql -u#{db_info['production']['username']} " \
|
138
|
-
"-p#{db_info['production']['password']} -h#{db_info['production']['host']} " \
|
139
172
|
"#{db_info['production']['database']}"
|
140
173
|
|
141
174
|
execute "rm -rf #{deploy_path}/*"
|
@@ -181,6 +214,7 @@ namespace :data do
|
|
181
214
|
download! "#{deploy_path}/shared/public/wp-content/uploads", "./public/wp-content/", recursive: true
|
182
215
|
download! "#{deploy_path}/shared/public/wp-content/plugins", "./public/wp-content/", recursive: true
|
183
216
|
download! "#{deploy_path}/shared/public/wp-content/upgrade", "./public/wp-content/", recursive: true
|
217
|
+
download! "#{deploy_path}/current/public/wp-content/themes", "./public/wp-content/", recursive: true
|
184
218
|
end
|
185
219
|
end
|
186
220
|
|
@@ -191,6 +225,7 @@ namespace :data do
|
|
191
225
|
`rsync -avzPhu --delete #{deploy_user}@#{host_addr}:#{deploy_path}/shared/public/wp-content/uploads/ ./public/wp-content/uploads/`
|
192
226
|
`rsync -avzPhu --delete #{deploy_user}@#{host_addr}:#{deploy_path}/shared/public/wp-content/plugins/ ./public/wp-content/plugins/`
|
193
227
|
`rsync -avzPhu --delete #{deploy_user}@#{host_addr}:#{deploy_path}/shared/public/wp-content/upgrade/ ./public/wp-content/upgrade/`
|
228
|
+
`rsync -avzPhu --delete #{deploy_user}@#{host_addr}:#{deploy_path}/current/public/wp-content/themes/ ./public/wp-content/themes/`
|
194
229
|
end
|
195
230
|
end
|
196
231
|
end
|
@@ -5,6 +5,7 @@ opts = YAML.load_file('config/definitions.yml')
|
|
5
5
|
db_info = YAML.load_file('config/database.yml')
|
6
6
|
|
7
7
|
deploy_user = opts['deployer']['user']
|
8
|
+
deploy_group = opts['deployer']['www_data_group']
|
8
9
|
host_addr = opts['deployer']['host']['staging']
|
9
10
|
multisite_root = opts['deployer']['root']
|
10
11
|
site_fqdn = opts['deployer']['fqdn']['staging']
|
@@ -81,6 +82,9 @@ namespace :deploy do
|
|
81
82
|
on roles(:web) do
|
82
83
|
puts 'Replacing localhost:8000 and Production URLs with Staging URLs...'
|
83
84
|
|
85
|
+
# Set an anchor to first homogonize instances of URL's, then replace all the anchors
|
86
|
+
anchor = "URL_REPLACEMENT_ANCHOR_00000"
|
87
|
+
|
84
88
|
# Create a backup, download it, and remove remote copy
|
85
89
|
execute "mkdir -p #{deploy_path}/db/tmp"
|
86
90
|
execute "mysqldump --opt --user=#{db_info['staging']['username']} --password=#{db_info['staging']['password']} --host=#{db_info['staging']['host']} #{db_info['staging']['database']} > #{deploy_path}/db/tmp/wordpress.sql"
|
@@ -91,18 +95,45 @@ namespace :deploy do
|
|
91
95
|
# Regex replace in file
|
92
96
|
db_data = File.read('db/tmp/wordpress.sql')
|
93
97
|
|
94
|
-
|
98
|
+
# This may seem roundabout, but in order to avoid mangling the target URL we need to first
|
99
|
+
# replace instances of it with something that won't match
|
100
|
+
db_data = db_data.gsub(/#{opts['deployer']['fqdn']['staging']}/, anchor)
|
101
|
+
|
102
|
+
# Set production URL's to the anchor
|
95
103
|
if opts['deployer']['fqdn']['production'] != ''
|
96
|
-
db_data = db_data.gsub(/#{opts['deployer']['fqdn']['production']}/,
|
104
|
+
db_data = db_data.gsub(/#{opts['deployer']['fqdn']['production']}/, anchor)
|
97
105
|
end
|
98
106
|
|
107
|
+
# Set localhost entries to the anchor
|
108
|
+
db_data = db_data.gsub(/localhost\%3A8000/, anchor)
|
109
|
+
db_data = db_data.gsub(/localhost:8000/, anchor)
|
110
|
+
|
111
|
+
# Replace anchors with the correct target URL
|
112
|
+
db_data = db_data.gsub(anchor, "#{opts['deployer']['fqdn']['staging']}")
|
113
|
+
|
114
|
+
# Save results
|
99
115
|
File.open('db/tmp/wordpress.sql', "w") {|file| file.puts db_data }
|
100
116
|
|
101
117
|
# Upload file and seed
|
102
118
|
upload! 'db/tmp/wordpress.sql', "#{deploy_path}/db/tmp/wordpress.sql"
|
103
119
|
execute "mysql -h#{db_info['staging']['host']} -u#{db_info['staging']['username']} -p#{db_info['staging']['password']} #{db_info['staging']['database']} < #{deploy_path}/db/tmp/wordpress.sql"
|
104
120
|
execute "rm #{deploy_path}/db/tmp/*.sql"
|
105
|
-
|
121
|
+
|
122
|
+
# Remove work file
|
123
|
+
# `rm db/tmp/wordpress.sql`
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
desc 'Sets ownership permissions'
|
128
|
+
task :set_permissions do
|
129
|
+
on roles(:web) do
|
130
|
+
puts 'Setting permissions'
|
131
|
+
if deploy_group != nil
|
132
|
+
puts "Recrusively setting group to #{deploy_group}..."
|
133
|
+
execute "chown -R :#{deploy_group} #{deploy_path}"
|
134
|
+
puts 'Allowing group level Write permission...'
|
135
|
+
execute "chmod -R g+w #{deploy_path}"
|
136
|
+
end
|
106
137
|
end
|
107
138
|
end
|
108
139
|
|
@@ -125,17 +156,19 @@ namespace :deploy do
|
|
125
156
|
invoke('deploy')
|
126
157
|
invoke('db:seed')
|
127
158
|
invoke('deploy:chikan')
|
159
|
+
invoke('deploy:set_permissions')
|
128
160
|
end
|
129
161
|
end
|
130
162
|
|
131
163
|
desc 'Clear out remote DB tables and delete all remote files in deploy target directory'
|
132
164
|
task :destruct do
|
133
165
|
on roles(:web) do
|
134
|
-
execute "
|
166
|
+
execute "mysql --user=#{db_info['staging']['username']} " \
|
167
|
+
"--password=#{db_info['staging']['password']} --host=#{db_info['staging']['host']} " \
|
168
|
+
"-Nse 'show tables' #{db_info['staging']['database']} | " \
|
169
|
+
"while read table; do echo \"drop table $table;\"; done | " \
|
170
|
+
"mysql --user=#{db_info['staging']['username']} " \
|
135
171
|
"--password=#{db_info['staging']['password']} --host=#{db_info['staging']['host']} " \
|
136
|
-
"--add-drop-table --no-data #{db_info['staging']['database']} | " \
|
137
|
-
"grep -e '^DROP \| FOREIGN_KEY_CHECKS' | mysql -u#{db_info['staging']['username']} " \
|
138
|
-
"-p#{db_info['staging']['password']} -h#{db_info['staging']['host']} " \
|
139
172
|
"#{db_info['staging']['database']}"
|
140
173
|
|
141
174
|
execute "rm -rf #{deploy_path}/*"
|
@@ -181,6 +214,7 @@ namespace :data do
|
|
181
214
|
download! "#{deploy_path}/shared/public/wp-content/uploads", "./public/wp-content/", recursive: true
|
182
215
|
download! "#{deploy_path}/shared/public/wp-content/plugins", "./public/wp-content/", recursive: true
|
183
216
|
download! "#{deploy_path}/shared/public/wp-content/upgrade", "./public/wp-content/", recursive: true
|
217
|
+
download! "#{deploy_path}/current/public/wp-content/themes", "./public/wp-content/", recursive: true
|
184
218
|
end
|
185
219
|
end
|
186
220
|
|
@@ -191,6 +225,7 @@ namespace :data do
|
|
191
225
|
`rsync -avzPhu --delete #{deploy_user}@#{host_addr}:#{deploy_path}/shared/public/wp-content/uploads/ ./public/wp-content/uploads/`
|
192
226
|
`rsync -avzPhu --delete #{deploy_user}@#{host_addr}:#{deploy_path}/shared/public/wp-content/plugins/ ./public/wp-content/plugins/`
|
193
227
|
`rsync -avzPhu --delete #{deploy_user}@#{host_addr}:#{deploy_path}/shared/public/wp-content/upgrade/ ./public/wp-content/upgrade/`
|
228
|
+
`rsync -avzPhu --delete #{deploy_user}@#{host_addr}:#{deploy_path}/current/public/wp-content/themes/ ./public/wp-content/themes/`
|
194
229
|
end
|
195
230
|
end
|
196
231
|
end
|
data/wslave.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'wslave'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.18'
|
4
4
|
s.licenses = ['GPL-3.0', 'AGPL-3.0']
|
5
5
|
s.summary = '"Word Slave" generates and controls a WordPress installation'
|
6
6
|
s.description = 'Word Slave includes the wslave command and a control library to generate a ' \
|
@@ -20,10 +20,11 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.bindir = 'bin'
|
21
21
|
s.executables << 'wslave'
|
22
22
|
|
23
|
-
s.add_dependency 'capistrano', '= 3.
|
24
|
-
s.add_dependency 'capistrano-git-with-submodules', '~> 2.0'
|
25
|
-
s.add_dependency 'capistrano-scm-copy', '~> 0.7'
|
23
|
+
s.add_dependency 'capistrano', '= 3.11.0'
|
24
|
+
s.add_dependency 'capistrano-git-with-submodules', '~> 2.0', '2.0.3'
|
25
|
+
s.add_dependency 'capistrano-scm-copy', '~> 0.7', '0.7.0'
|
26
|
+
s.add_dependency 'capistrano-file-permissions', '~> 1.0', '1.0.0'
|
26
27
|
|
27
|
-
s.add_dependency 'thor', '~> 0.20'
|
28
|
-
s.add_dependency 'haikunator', '~> 1.1'
|
28
|
+
s.add_dependency 'thor', '~> 0.20', '0.20.0'
|
29
|
+
s.add_dependency 'haikunator', '~> 1.1', '1.1.0'
|
29
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wslave
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rei Kagetsuki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.
|
19
|
+
version: 3.11.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: 3.
|
26
|
+
version: 3.11.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: capistrano-git-with-submodules
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -31,6 +31,9 @@ dependencies:
|
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '2.0'
|
34
|
+
- - '='
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 2.0.3
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -38,6 +41,9 @@ dependencies:
|
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: '2.0'
|
44
|
+
- - '='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 2.0.3
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: capistrano-scm-copy
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,6 +51,9 @@ dependencies:
|
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '0.7'
|
54
|
+
- - '='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.7.0
|
48
57
|
type: :runtime
|
49
58
|
prerelease: false
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,6 +61,29 @@ dependencies:
|
|
52
61
|
- - "~>"
|
53
62
|
- !ruby/object:Gem::Version
|
54
63
|
version: '0.7'
|
64
|
+
- - '='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 0.7.0
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: capistrano-file-permissions
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '1.0'
|
74
|
+
- - '='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 1.0.0
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '1.0'
|
84
|
+
- - '='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 1.0.0
|
55
87
|
- !ruby/object:Gem::Dependency
|
56
88
|
name: thor
|
57
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +91,9 @@ dependencies:
|
|
59
91
|
- - "~>"
|
60
92
|
- !ruby/object:Gem::Version
|
61
93
|
version: '0.20'
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.20.0
|
62
97
|
type: :runtime
|
63
98
|
prerelease: false
|
64
99
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -66,6 +101,9 @@ dependencies:
|
|
66
101
|
- - "~>"
|
67
102
|
- !ruby/object:Gem::Version
|
68
103
|
version: '0.20'
|
104
|
+
- - '='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 0.20.0
|
69
107
|
- !ruby/object:Gem::Dependency
|
70
108
|
name: haikunator
|
71
109
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,6 +111,9 @@ dependencies:
|
|
73
111
|
- - "~>"
|
74
112
|
- !ruby/object:Gem::Version
|
75
113
|
version: '1.1'
|
114
|
+
- - '='
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 1.1.0
|
76
117
|
type: :runtime
|
77
118
|
prerelease: false
|
78
119
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -80,6 +121,9 @@ dependencies:
|
|
80
121
|
- - "~>"
|
81
122
|
- !ruby/object:Gem::Version
|
82
123
|
version: '1.1'
|
124
|
+
- - '='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 1.1.0
|
83
127
|
description: Word Slave includes the wslave command and a control library to generate
|
84
128
|
a "best practice" WordPress installation and includes a pre-rolled Docker setup
|
85
129
|
for running a development server and a Capistrano setup for deployment.
|
@@ -89,16 +133,18 @@ executables:
|
|
89
133
|
extensions: []
|
90
134
|
extra_rdoc_files: []
|
91
135
|
files:
|
136
|
+
- base/.gitignore
|
92
137
|
- base/Capfile
|
93
138
|
- base/Dockerfile
|
94
139
|
- base/Gemfile
|
95
140
|
- base/Rakefile
|
141
|
+
- base/config/deploy-tools/gen-nginx-vhost.rb
|
96
142
|
- base/config/deploy-tools/gen-salts.rb
|
97
143
|
- base/config/deploy-tools/gen-wp-config.rb
|
144
|
+
- base/config/deploy-tools/nginx.vhost.erb
|
98
145
|
- base/config/deploy-tools/wp-config.php.erb
|
99
146
|
- base/config/deploy-tools/wp-config.php.local
|
100
147
|
- base/config/deploy.rb
|
101
|
-
- base/config/deploy/.production.rb.swp
|
102
148
|
- base/config/deploy/production.rb
|
103
149
|
- base/config/deploy/staging.rb
|
104
150
|
- base/docker-compose.yml
|
@@ -134,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
180
|
version: '0'
|
135
181
|
requirements: []
|
136
182
|
rubyforge_project:
|
137
|
-
rubygems_version: 2.7.
|
183
|
+
rubygems_version: 2.7.7
|
138
184
|
signing_key:
|
139
185
|
specification_version: 4
|
140
186
|
summary: '"Word Slave" generates and controls a WordPress installation'
|
Binary file
|