Sha256: 3aac8490430495d42686f96f2035d6798d42e3fd6166da7ea68a44e01b5a0e99

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

task :environment do
end

task run_commands: :environment do
  commands.run(:remote) unless commands.queue.empty?
end

task debug_configuration_variables: :environment do
  if fetch(:debug_configuration_variables)
    puts
    puts '------- Printing current config variables -------'
    configuration.variables.each do |key, value|
      puts "#{key.inspect} => #{value.inspect}"
    end
  end
end

desc 'Adds current repo host to the known hosts'
task :ssh_keyscan do
  ensure!(:repository)
  repo_host = fetch(:repository).split(%r{@|://}).last.split(%r{:|\/}).first
  repo_port = /:([0-9]+)/.match(fetch(:repository)) && /:([0-9]+)/.match(fetch(:repository))[1] || '22'

  command %[
    if ! ssh-keygen -H  -F #{repo_host} &>/dev/null; then
      ssh-keyscan -t rsa -p #{repo_port} -H #{repo_host} >> ~/.ssh/known_hosts
    fi
  ]
end

desc 'Runs a command in the server.'
task :run, [:command] => [:environment] do |_, args|
  ensure!(:deploy_to)
  command = args[:command]

  unless command
    puts "You need to provide a command. Try: mina 'run[ls -la]'"
    exit 1
  end

  in_path fetch(:deploy_to) do
    command command
  end
end

desc 'Open an ssh session to the server and cd to deploy_to folder'
task ssh: :environment do
  exec Mina::Backend::Remote.new(nil).ssh + " 'cd #{fetch(:deploy_to)} && exec \$SHELL'"
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mina-1.0.0.beta2 tasks/mina/default.rb