Add remove tasks to clean up
This commit is contained in:
@@ -24,4 +24,17 @@ class Mrsk::Commands::App < Mrsk::Commands::Base
|
|||||||
def info
|
def info
|
||||||
"docker ps --filter label=service=#{config.service}"
|
"docker ps --filter label=service=#{config.service}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def remove_containers
|
||||||
|
"docker container prune -f #{service_filter}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def remove_images
|
||||||
|
"docker image prune -a -f #{service_filter}"
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def service_filter
|
||||||
|
"--filter label=service=#{config.service}"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -18,4 +18,12 @@ class Mrsk::Commands::Traefik < Mrsk::Commands::Base
|
|||||||
def info
|
def info
|
||||||
"docker ps --filter name=traefik"
|
"docker ps --filter name=traefik"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def remove_container
|
||||||
|
"docker container prune -f --filter label=org.opencontainers.image.title=Traefik"
|
||||||
|
end
|
||||||
|
|
||||||
|
def remove_image
|
||||||
|
"docker image prune -a -f --filter label=org.opencontainers.image.title=Traefik"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -39,5 +39,13 @@ namespace :mrsk do
|
|||||||
task :info do
|
task :info do
|
||||||
on(MRSK_CONFIG.servers) { |host| puts "Host: #{host}\n" + capture(app.info) + "\n\n" }
|
on(MRSK_CONFIG.servers) { |host| puts "Host: #{host}\n" + capture(app.info) + "\n\n" }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
desc "Remove app containers and images from servers"
|
||||||
|
task remove: %i[ stop ] do
|
||||||
|
on(MRSK_CONFIG.servers) do
|
||||||
|
execute app.remove_containers
|
||||||
|
execute app.remove_images
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -20,4 +20,7 @@ namespace :mrsk do
|
|||||||
Pathname.new(File.expand_path("templates/deploy.yml", __dir__)),
|
Pathname.new(File.expand_path("templates/deploy.yml", __dir__)),
|
||||||
Rails.root.join("config/deploy.yml")
|
Rails.root.join("config/deploy.yml")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
desc "Remove Traefik, app, and registry session from servers"
|
||||||
|
task remove: %w[ traefik:remove app:remove registry:logout ]
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -21,5 +21,13 @@ namespace :mrsk do
|
|||||||
task :info do
|
task :info do
|
||||||
on(MRSK_CONFIG.servers) { |host| puts "Host: #{host}\n" + capture(traefik.info) + "\n\n" }
|
on(MRSK_CONFIG.servers) { |host| puts "Host: #{host}\n" + capture(traefik.info) + "\n\n" }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
desc "Remove Traefik container and image from servers"
|
||||||
|
task remove: %i[ stop ] do
|
||||||
|
on(MRSK_CONFIG.servers) do
|
||||||
|
execute traefik.remove_container
|
||||||
|
execute traefik.remove_image
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user