NAME
Rex - the friendly automation framework
DESCRIPTION
Rex is an automation framework that is friendly to any combinations of local and remote execution, push and pull style of management, or imperative and declarative approach.
Its flexibility makes it a great fit for many different use cases, but most commonly Rex is used to automate application deployment and data center infrastructure management tasks.
See Rex::Commands for a starting point of available built-in commands.
See rex for more information about how to use rex on the command line.
SYNOPSIS
# In a Rexfile:
use Rex -feature => [qw/1.4/];
user "root";
password "ch4ngem3";
desc "Show system information";
task "sysinfo", sub {
say run "uname -a";
};
1;
# On the command line:
$ rex -H server[01..10] sysinfo
CLASS METHODS
get_current_connection
This function is deprecated since 0.28! See Rex::Commands::connection.
Returns the current connection as a hashRef.
- server
-
The server name
- ssh
-
1 if it is a ssh connection, 0 if not.
is_ssh
Returns 1 if the current connection is a ssh connection. 0 if not.
is_local
Returns 1 if the current connection is local. Otherwise 0.
is_sudo
Returns 1 if the current operation is executed within sudo.
get_sftp
Returns the sftp object for the current ssh connection.
connect
Use this function to create a connection if you use Rex as a library.
use Rex;
use Rex::Commands::Run;
use Rex::Commands::Fs;
Rex::connect(
server => "remotehost",
user => "root",
password => "f00b4r",
private_key => "/path/to/private/key/file",
public_key => "/path/to/public/key/file",
);
if(is_file("/foo/bar")) {
print "Do something...\n";
}
my $output = run("uptime");
CONTRIBUTORS
Many thanks to the contributors for their work. Please see CONTRIBUTORS file for a complete list.
LICENSE
Rex is a free software, licensed under: The Apache License, Version 2.0, January 2004