|
|
@@ -161,6 +161,7 @@ class DocsCLI < Thor
|
|
|
desc 'upload', '[private]'
|
|
|
option :dryrun, type: :boolean
|
|
|
option :packaged, type: :boolean
|
|
|
+ option :rclone, type: :boolean
|
|
|
def upload(*names)
|
|
|
if options[:packaged]
|
|
|
slugs = Dir[File.join(Docs.store_path, '*.tar.gz')].map { |f| File.basename(f, '.tar.gz') }
|
|
|
@@ -190,6 +191,11 @@ class DocsCLI < Thor
|
|
|
puts "[S3] Syncing #{doc.path}..."
|
|
|
cmd = "aws s3 sync #{File.join(Docs.store_path, doc.path)} s3://devdocs-documents/#{doc.path} --delete --profile devdocs"
|
|
|
cmd << ' --dryrun' if options[:dryrun]
|
|
|
+ if options[:packaged]
|
|
|
+ puts "[S3] Syncing #{doc.path} using rclone..."
|
|
|
+ cmd = "rclone sync #{File.join(Docs.store_path, doc.path)} devdocs:devdocs-documents/#{doc.path} --delete-after --progress"
|
|
|
+ cmd << ' --dry-run' if options[:dryrun]
|
|
|
+ end
|
|
|
system(cmd)
|
|
|
end
|
|
|
puts '[S3] Done syncing.'
|
|
|
@@ -202,6 +208,11 @@ class DocsCLI < Thor
|
|
|
puts "[S3 bundle] Uploading #{filename}..."
|
|
|
cmd = "aws s3 cp #{File.join(Docs.store_path, filename)} s3://devdocs-downloads/#{filename} --profile devdocs"
|
|
|
cmd << ' --dryrun' if options[:dryrun]
|
|
|
+ if options[:packaged]
|
|
|
+ puts "[S3 bundle] Uploading #{filename} using rclone..."
|
|
|
+ cmd = "rclone copy #{File.join(Docs.store_path, filename)} devdocs:devdocs-downloads/"
|
|
|
+ cmd << ' --dry-run' if options[:dryrun]
|
|
|
+ end
|
|
|
system(cmd)
|
|
|
end
|
|
|
puts '[S3 bundle] Done uploading.'
|