class Mamiya::Agent::Tasks::Clean
Public Instance Methods
clean_packages()
click to toggle source
# File lib/mamiya/agent/tasks/clean.rb, line 17 def clean_packages package_victims.each do |app, victim| @logger.info "Cleaning package: remove #{victim}" File.unlink(victim) if File.exist?(victim) meta_victim = victim.sub(/\.tar\.gz\z/, '.json') if File.exist?(meta_victim) @logger.info "Cleaning up: remove #{meta_victim}" File.unlink(meta_victim) end # XXX: depends on FS structure package_name = File.basename(victim, '.tar.gz') # XXX: TODO: application->app, package->pkg agent.trigger('pkg', action: 'remove', application: app, package: package_name, coalesce: false, ) end end
clean_prereleases()
click to toggle source
# File lib/mamiya/agent/tasks/clean.rb, line 53 def clean_prereleases prerelease_victims.each do |app, victim| @logger.info "Cleaning prerelease: remove #{victim}" package_name = File.basename(victim) FileUtils.remove_entry_secure victim agent.trigger('prerelease', action: 'remove', app: app, pkg: package_name, coalesce: false, ) end end
clean_releases()
click to toggle source
# File lib/mamiya/agent/tasks/clean.rb, line 80 def clean_releases release_victims.each do |app, victim| @logger.info "Cleaning release: remove #{victim}" package_name = File.basename(victim) FileUtils.remove_entry_secure victim agent.trigger('release', action: 'remove', app: app, pkg: package_name, coalesce: false, ) end end
package_victims()
click to toggle source
# File lib/mamiya/agent/tasks/clean.rb, line 40 def package_victims Dir[File.join(config[:packages_dir], '*')].flat_map do |app| packages = Dir[File.join(app, "*.tar.gz")]. sort_by { |_| [File.mtime(_), _] } packages[0...-(config[:keep_packages])].map do |victim| [File.basename(app), victim] end end end
prerelease_victims()
click to toggle source
# File lib/mamiya/agent/tasks/clean.rb, line 67 def prerelease_victims Dir[File.join(config[:prereleases_dir], '*')].flat_map do |app| prereleases = Dir[File.join(app, "*")]. sort_by { |_| [File.mtime(_), _] } prereleases[0...-(config[:keep_prereleases])].map do |victim| [File.basename(app), victim] end end end
release_victims()
click to toggle source
# File lib/mamiya/agent/tasks/clean.rb, line 94 def release_victims config.applications.flat_map do |name, app| next unless app[:deploy_to] releases = Dir[File.join(app[:deploy_to], 'releases', '*')].sort_by { |_| [File.mtime(_), _] } current = File.join(app[:deploy_to], 'current') current_realpath = File.exist?(current) ? File.realpath(current) : nil releases.reject!{ |rel| File.realpath(rel) == current_realpath } releases[0...-(config[:keep_releases])].map do |victim| [name, victim] end end end
run()
click to toggle source
# File lib/mamiya/agent/tasks/clean.rb, line 8 def run # XXX: clean_packages clean_prereleases clean_releases end