App-Ikaros

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN


        # commands after main command
        after_commands => []
    };

### \[HOST CONFIGURATION\] : config/hosts.yaml

    # default status each hosts
    default:
      user: $USER_NAME                 # username for ssh connection
      private_key: $HOME/.ssh/id_rsa   # private_key for ssh connection
      runner: forkprove                # executor of main command ('prove' or 'forkprove')
      coverage: true                   # enable testing coverage
      perlbrew: true                   # find perl binary using perlbrew
      workdir: $HOME/ikaros_workspace  # working directory for testing

    # set status individually
    hosts:
      - remote # remote server name
      - remote:
          workdir: $HOME/ikaros_workspace_2 # override working directory name

config/hosts.conf  view on Meta::CPAN

default:
  user: $USER_NAME
  private_key: $HOME/.ssh/id_rsa
  coverage: true
  perlbrew: true

hosts:
  - remote:
      runner: forkprove
      workdir: $HOME/ikaros_workspace
  - remote:
      runner: forkprove
      workdir: $HOME/ikaros_workspace_2

lib/App/Ikaros.pm  view on Meta::CPAN


        # commands after main command
        after_commands => []
    };

=head3 [HOST CONFIGURATION] : config/hosts.yaml

    # default status each hosts
    default:
      user: $USER_NAME                 # username for ssh connection
      private_key: $HOME/.ssh/id_rsa   # private_key for ssh connection
      runner: forkprove                # executor of main command ('prove' or 'forkprove')
      coverage: true                   # enable testing coverage
      perlbrew: true                   # find perl binary using perlbrew
      workdir: $HOME/ikaros_workspace  # working directory for testing

    # set status individually
    hosts:
      - remote # remote server name
      - remote:
          workdir: $HOME/ikaros_workspace_2 # override working directory name

lib/App/Ikaros/LandingPoint.pm  view on Meta::CPAN

    if (ref $host eq '') {
        $hostname = $host;
        $h = {};
    } else {
        $hostname = (keys %$host)[0];
        $h = $host->{$hostname};
    }
    die "unknown hostname [$hostname]" unless $hostname;

    my $user     = $h->{user}        || $default->{user} || $ENV{USER};
    my $key      = $h->{private_key} || $default->{private_key} || '';
    my $workdir  = $h->{workdir}     || $default->{workdir} || '$HOME';
    my $runner   = $h->{runner}      || $default->{runner}  || 'prove';
    my $coverage = $h->{coverage}    || $default->{coverage}|| 0;
    my $perlbrew = $h->{perlbrew}    || $default->{perlbrew}|| 0;
    die "please setup workdir for testing" unless $workdir;

    my @ssh_opt = ($key) ? (key_path => $key) : ();

    my $ssh = Net::OpenSSH->new($user . '@' . $hostname, @ssh_opt);
    $ssh->error and die 'unable to connect to remote host: ' . $ssh->error;



( run in 0.280 second using v1.01-cache-2.11-cpan-4d50c553e7e )