| @@ -157,15 +157,36 @@ class DocsCLI < Thor · 156 unmodified lines |
| 157 | option :dryrun, type: :boolean | 157 | option :dryrun, type: :boolean |
| 158 | option :packaged, type: :boolean | 158 | option :packaged, type: :boolean |
| 159 | def upload(*names) | 159 | def upload(*names) |
| | 160 | require 'net/sftp' |
| 160 | names = Dir[File.join(Docs.store_path, '*.tar.gz')].map { |f| File.basename(f, '.tar.gz') } if options[:packaged] | 161 | names = Dir[File.join(Docs.store_path, '*.tar.gz')].map { |f| File.basename(f, '.tar.gz') } if options[:packaged] |
| 161 | docs = find_docs(names) | 162 | docs = find_docs(names) |
| 162 | assert_docs(docs) | 163 | assert_docs(docs) |
| | 164 | |
| | 165 | # Sync files with S3 (used by the web app) |
| | 166 | puts '[S3] Begin syncing.' |
| 163 | docs.each do |doc| | 167 | docs.each do |doc| |
| 164 | puts "Syncing #{doc.path}..." | 168 | puts "[S3] Syncing #{doc.path}..." |
| 165 | cmd = "aws s3 sync #{File.join(Docs.store_path, doc.path)} s3://docs.devdocs.io/#{doc.path} --delete" | 169 | cmd = "aws s3 sync #{File.join(Docs.store_path, doc.path)} s3://docs.devdocs.io/#{doc.path} --delete" |
| 166 | cmd << ' --dryrun' if options[:dryrun] | 170 | cmd << ' --dryrun' if options[:dryrun] |
| 167 | system(cmd) | 171 | system(cmd) |
| 168 | end | 172 | end |
| | 173 | puts '[S3] Done syncing.' |
| | 174 | |
| | 175 | # Upload packages to dl.devdocs.io (used by the "thor docs:download" command) |
| | 176 | puts '[MaxCDN] Begin uploading.' |
| | 177 | Net::SFTP.start('ftp.devdocs-dl.devdocs.netdna-cdn.com', ENV['DEVDOCS_DL_USERNAME'], password: ENV['DEVDOCS_DL_PASSWORD']) do |sftp| |
| | 178 | docs.each do |doc| |
| | 179 | filename = "#{doc.path}.tar.gz" |
| | 180 | print "[MaxCDN] Uploading #{filename}..." |
| | 181 | if options[:dryrun] |
| | 182 | print "\n" |
| | 183 | else |
| | 184 | sftp.upload! File.join(Docs.store_path, filename), File.join('', 'public_html', filename) |
| | 185 | print " OK\n" |
| | 186 | end |
| | 187 | end |
| | 188 | end |
| | 189 | puts '[MaxCDN] Done uploading.' |
| 169 | end | 190 | end |
| 170 | | 191 | |
| 171 | desc 'commit', '[private]' | 192 | desc 'commit', '[private]' |