class DockerComposeDeploy::Actions::Deployment

Public Instance Methods

create() click to toggle source
# File lib/docker_compose_deploy/actions/deployment.rb, line 7
def create
  shell.ssh!("mkdir -p ./sites")
  shell.ssh!("rm -rf ./sites/config") # bin/deploy is irreversible :)
  shell.scp!("./sites/config/", "#{connection}:./sites/config", "-r")

  docker_compose.services.each do |service_name|
    shell.ssh!("mkdir -p ./sites/data/#{service_name}")
    shell.ssh!("mkdir -p ./sites/log/#{service_name}")
  end

  shell.scp!(docker_compose.path, "#{connection}:./docker-compose.yml")
  shell.ssh!("docker-compose down")
  shell.ssh!("docker-compose pull #{ignore_pull_failures_option}")
  shell.ssh!("docker-compose up -d")

  shell.notify "success"
end

Private Instance Methods

connection() click to toggle source
# File lib/docker_compose_deploy/actions/deployment.rb, line 37
def connection
  DockerComposeDeploy.config.connection
end
docker_compose() click to toggle source
# File lib/docker_compose_deploy/actions/deployment.rb, line 33
def docker_compose
  @docker_compose ||= DockerCompose::File.new
end
ignore_pull_failures_option() click to toggle source
# File lib/docker_compose_deploy/actions/deployment.rb, line 27
def ignore_pull_failures_option
  if ignore_pull_failures
    "--ignore-pull-failures"
  end
end