Class: Bosh::Cli::Command::Release::UploadRelease
- Defined in:
- lib/cli/commands/release/upload_release.rb
Constant Summary
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
#args, #exit_code, #info, #options, #out, #runner, #work_dir
Instance Method Summary collapse
Methods inherited from Base
#add_option, #blob_manager, #blobstore, #cache_dir, #config, #confirmed?, #credentials, #deployment, #director, #initialize, #interactive?, #logged_in?, #non_interactive?, #progress_renderer, #redirect, #release, #remove_option, #run_nested_command, #show_current_state, #target, #target_name, #verbose?
Methods included from Bosh::Cli::CommandDiscovery
#desc, #method_added, #option, #register_command, #usage
Methods included from DeploymentHelper
#build_manifest, #cancel_deployment, #deployment_changed?, #inspect_deployment_changes, #job_exists_in_deployment?, #job_unique_in_deployment?, #jobs_and_indexes, #prepare_deployment_manifest, #prompt_for_errand_name, #prompt_for_job_and_index
Constructor Details
This class inherits a constructor from Bosh::Cli::Command::Base
Instance Method Details
#upload(release_file = nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/cli/commands/release/upload_release.rb', line 19 def upload(release_file = nil) auth_required switch_to_release_dir show_current_state = { :rebase => [:rebase], :repack => true, :sha1 => [:sha1], :fix => [:fix], } #only check release_dir if not compiled release tarball file_type = `file --mime-type -b '#{release_file}'` compiled_release = false if file_type == /application\/x-gzip/ tarball = Bosh::Cli::ReleaseTarball.new(tarball_path) compiled_release = tarball.compiled_release? end if release_file.nil? and !compiled_release check_if_release_dir release_file = release.latest_release_filename if release_file.nil? err('The information about latest generated release is missing, please provide release filename') end end if ![:fix] && [:name] && [:version] say("Checking whether release #{[:name]}/#{[:version]} already exists...".make_green, '') director.list_releases.each do |release| if release['name'] == [:name] release['release_versions'].each do |version| if version['version'] == [:version] say('YES'.make_yellow) return end end end end say('NO'.make_yellow) end if release_file =~ /^#{URI::regexp}$/ upload_remote_release(release_file, ) else err("Option '--sha1' is not supported for uploading local release") unless [:sha1].nil? err("Release file doesn't exist") unless File.exist?(release_file) file_type = `file --mime-type -b '#{release_file}'` # duplicate? Already done on line 23 if file_type =~ /text\/(plain|yaml)/ upload_manifest(release_file, ) else upload_tarball(release_file, ) end end end |