diff options
author | Jeroen Nijhof <jeroen@jeroennijhof.nl> | 2015-06-09 17:35:31 +0200 |
---|---|---|
committer | Jeroen Nijhof <jeroen@jeroennijhof.nl> | 2015-06-09 17:35:31 +0200 |
commit | 151dd7ccad23e9866dca7045405f422bdd2e77a5 (patch) | |
tree | 7144b6361191934023a835717850741c8506f03b | |
parent | 72371097641202e6e11acc0fe61535fe7bbb2732 (diff) | |
download | gitlab-ci-151dd7ccad23e9866dca7045405f422bdd2e77a5.tar.gz |
make multipart_chunk_size configurable
-rw-r--r-- | config/application.yml.example | 3 | ||||
-rw-r--r-- | config/initializers/1_settings.rb | 1 | ||||
-rw-r--r-- | lib/backup/manager.rb | 3 |
3 files changed, 6 insertions, 1 deletions
diff --git a/config/application.yml.example b/config/application.yml.example index 8f64c33..760cab4 100644 --- a/config/application.yml.example +++ b/config/application.yml.example @@ -44,6 +44,9 @@ defaults: &defaults # aws_secret_access_key: 'secret123' # # The remote 'directory' to store your backups. For S3, this would be the bucket name. # remote_directory: 'my.s3.bucket' + # # Use multipart uploads when file size reaches 100MB, see + # # http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html + # multipart_chunk_size: 104857600 development: diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 6021b46..dbe4fa1 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -63,3 +63,4 @@ Settings.backup['upload'] ||= Settingslogic.new({ 'remote_directory' => nil, 'co if Settings.backup['upload']['connection'] Settings.backup['upload']['connection'] = Hash[Settings.backup['upload']['connection'].map { |k, v| [k.to_sym, v] }] end +Settings.backup['upload']['multipart_chunk_size'] ||= 104857600 diff --git a/lib/backup/manager.rb b/lib/backup/manager.rb index d657bba..fc847e2 100644 --- a/lib/backup/manager.rb +++ b/lib/backup/manager.rb @@ -45,7 +45,8 @@ module Backup connection = ::Fog::Storage.new(connection_settings) directory = connection.directories.get(remote_directory) - if directory.files.create(key: tar_file, body: File.open(tar_file), public: false, multipart_chunk_size: 104857600) + if directory.files.create(key: tar_file, body: File.open(tar_file), public: false, + multipart_chunk_size: GitlabCi.config.backup.upload.multipart_chunk_size) $progress.puts "done".green else puts "uploading backup to #{remote_directory} failed".red |