Rex-Inline
view release on metacpan or search on metacpan
# RexInline
Rex::Inline æ¯ä¸ä¸ªå¨perlä¸ç´æ¥è°ç¨rexçæ¥å£
### éç¨åºæ¯
è½ç¶ `rex` çå½ä»¤è¡å·¥å
·å¾å¥½ç¨ï¼
坿¯ææ¶ä¸æ³å Rexfileï¼
å¹¶ä¸å¦ææ³æ Rex çåè½æ¨¡åå ç»å
¶ä»Appè°ç¨çæ¶åï¼
å°±éè¦ç¨å°è¿ä¸ª API äºã
### è°ç¨æ¹æ³
1. å¿åè°ç¨ Rex
use Rex -feature => ['1.0'];
use Rex::Inline;
my $rex_inline = Rex::Inline->new;
$rex_inline->add_task(
{
user => $user,
server => [@server],
password => $password,
# private_key => $private_key_path,
# public_key => $public_key_path,
func => sub {
# è¿éåè¦å¨ Rex 䏿§è¡çè¯å¥
}
}
);
$rex_inline->execute;
my $reports = $rex_inline->reports;
2. åææ¨¡å
#### Test.pm
package Test;
use Moose; # or Moo
use Rex -feature => ['1.0'];
extends 'Rex::Inline::Base';
sub func {
my $self = shift;
return sub {
say run "uptime"
say $self->input;
}
}
1;
### t.pl
use Test;
use Rex::Inline;
my $rex_inline = Rex::Inline->new;
$rex_inline->add_task( Test->new(
user => $user,
server => [@server],
password => $password,
# private_key => $private_key_path,
# public_key => $public_key_path,
input => 'test', # 任使³ä¼ ç»æ¨¡åçåæ°
) );
$rex_inline->execute;
my $reports = $rex_inline->reports;
( run in 0.782 second using v1.01-cache-2.11-cpan-39bf76dae61 )