capistrano-django 3.5.5 → 4.0.1
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 +5 -5
- data/lib/capistrano/django.rb +50 -43
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6291a323fd01c4311d8b4aec554254e6d7f433199713aab639038fbf0e3f4d8d
|
4
|
+
data.tar.gz: 9b43d25d7ad8395c6b0d7bbd8414916e87f1d2959b8f7e7d349cbf7327f758cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 496029f01092040ce67640d2e35abe2097ae74fa1f7ebfccadd94f21a2c0b97fb1eac22ba41330d69dab239043afceb19a117daf57ac0d57976c45c090183dab
|
7
|
+
data.tar.gz: defc670f45ee9f054224718a829475bc0cad5c57dbe7215f8f3f15827a78dc1ed54adc0de822ada6d238c43a04869c88f8c9c2ed263de5281322846c62005fd1
|
data/lib/capistrano/django.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
after 'deploy:updating', 'python:create_virtualenv'
|
2
|
-
after 'python:create_virtualenv', 'python:post_virtualenv'
|
3
2
|
|
4
3
|
namespace :deploy do
|
5
4
|
|
@@ -61,6 +60,8 @@ namespace :python do
|
|
61
60
|
|
62
61
|
end
|
63
62
|
|
63
|
+
after 'python:create_virtualenv', 'python:post_virtualenv'
|
64
|
+
|
64
65
|
namespace :flask do
|
65
66
|
|
66
67
|
task :setup do
|
@@ -150,7 +151,7 @@ namespace :django do
|
|
150
151
|
task :collectstatic do
|
151
152
|
if fetch(:create_s3_bucket)
|
152
153
|
invoke 's3:create_bucket'
|
153
|
-
on roles(:
|
154
|
+
on roles(:weblead) do
|
154
155
|
django("collectstatic", "-i *.coffee -i *.less -i node_modules/* -i bower_components/* --noinput --clear")
|
155
156
|
end
|
156
157
|
else
|
@@ -179,9 +180,9 @@ namespace :django do
|
|
179
180
|
desc "Run django migrations"
|
180
181
|
task :migrate do
|
181
182
|
if fetch(:multidb)
|
182
|
-
django("sync_all", '--noinput', run_on=:
|
183
|
+
django("sync_all", '--noinput', run_on=:jobs)
|
183
184
|
else
|
184
|
-
django("migrate", "--noinput", run_on=:
|
185
|
+
django("migrate", "--noinput", run_on=:jobs)
|
185
186
|
end
|
186
187
|
end
|
187
188
|
end
|
@@ -220,26 +221,30 @@ namespace :s3 do
|
|
220
221
|
|
221
222
|
desc 'Clean up old s3 buckets'
|
222
223
|
task :cleanup do
|
223
|
-
if fetch(:create_s3_bucket)
|
224
|
+
if fetch(:create_s3_bucket) and fetch(:delete_old_s3_buckets, true)
|
225
|
+
raw_directories = []
|
224
226
|
on roles(:web) do
|
225
227
|
releases = capture(:ls, '-xtr', releases_path).split
|
226
228
|
if releases.count >= fetch(:keep_releases)
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
aws_access_key_id: fetch(:aws_access_key),
|
231
|
-
aws_secret_access_key: fetch(:aws_secret_key),
|
232
|
-
provider: "AWS"
|
233
|
-
})
|
234
|
-
buckets = storage.directories.all.select { |b| b.key.start_with? fetch(:s3_bucket_prefix) }
|
235
|
-
buckets = buckets.select { |b| not directories.include?(b.key.split('-').last) }
|
236
|
-
buckets.each do |old_bucket|
|
237
|
-
files = old_bucket.files.map{ |file| file.key }
|
238
|
-
storage.delete_multiple_objects(old_bucket.key, files) unless files.empty?
|
239
|
-
storage.delete_bucket(old_bucket.key)
|
240
|
-
end
|
229
|
+
raw_directories.concat releases.last(fetch(:keep_releases))
|
230
|
+
else
|
231
|
+
raw_directories.concat releases
|
241
232
|
end
|
242
233
|
end
|
234
|
+
directories = raw_directories.uniq
|
235
|
+
require 'fog'
|
236
|
+
storage = Fog::Storage.new({
|
237
|
+
aws_access_key_id: fetch(:aws_access_key),
|
238
|
+
aws_secret_access_key: fetch(:aws_secret_key),
|
239
|
+
provider: "AWS"
|
240
|
+
})
|
241
|
+
buckets = storage.directories.all.select { |b| b.key.start_with? fetch(:s3_bucket_prefix) }
|
242
|
+
buckets = buckets.select { |b| not directories.include?(b.key.split('-').last) }
|
243
|
+
buckets.each do |old_bucket|
|
244
|
+
files = old_bucket.files.map{ |file| file.key }
|
245
|
+
storage.delete_multiple_objects(old_bucket.key, files) unless files.empty?
|
246
|
+
storage.delete_bucket(old_bucket.key)
|
247
|
+
end
|
243
248
|
end
|
244
249
|
end
|
245
250
|
|
@@ -258,30 +263,32 @@ namespace :s3 do
|
|
258
263
|
execute %Q|echo 'STATICFILES_STORAGE = "storages.backends.s3boto.S3BotoStorage"' >> #{settings_path}/#{fetch(:django_settings)}.py|
|
259
264
|
end
|
260
265
|
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
"
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
266
|
+
on roles(:weblead) do
|
267
|
+
require 'fog'
|
268
|
+
storage = Fog::Storage.new({
|
269
|
+
aws_access_key_id: fetch(:aws_access_key),
|
270
|
+
aws_secret_access_key: fetch(:aws_secret_key),
|
271
|
+
provider: "AWS"
|
272
|
+
})
|
273
|
+
storage.put_bucket(bucket_name)
|
274
|
+
storage.put_bucket_policy(bucket_name, {
|
275
|
+
'Statement' => [{
|
276
|
+
'Sid' => 'AddPerm',
|
277
|
+
'Effect' => 'Allow',
|
278
|
+
'Principal' => '*',
|
279
|
+
'Action' => ['s3:GetObject'],
|
280
|
+
'Resource' => ["arn:aws:s3:::#{bucket_name}/*"]
|
281
|
+
}]
|
282
|
+
})
|
283
|
+
storage.put_bucket_cors(bucket_name, {
|
284
|
+
"CORSConfiguration" => [{
|
285
|
+
"AllowedOrigin" => ["*"],
|
286
|
+
"AllowedHeader" => ["*"],
|
287
|
+
"AllowedMethod" => ["GET"],
|
288
|
+
"MaxAgeSeconds" => 3000
|
289
|
+
}]
|
290
|
+
})
|
291
|
+
end
|
285
292
|
|
286
293
|
end
|
287
294
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-django
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew J. Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -50,8 +50,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
50
50
|
- !ruby/object:Gem::Version
|
51
51
|
version: '0'
|
52
52
|
requirements: []
|
53
|
-
|
54
|
-
rubygems_version: 2.6.12
|
53
|
+
rubygems_version: 3.0.3
|
55
54
|
signing_key:
|
56
55
|
specification_version: 4
|
57
56
|
summary: capistrano-django - Welcome to easy deployment with Ruby over SSH for Django
|