CPAN-Testers-Backend

 view release on metacpan or  search on metacpan

Rexfile  view on Meta::CPAN


=head1 NAME

Rexfile - Rex task configuration for CPANTesters backend scripts

=head1 SYNOPSIS

    # Deploy the latest backend scripts
    rex deploy

=head1 DESCRIPTION

This file defines all the L<Rex|http://rexify.org> tasks used to deploy
this application.

You must have already configured a user using the
L<cpantesters-deploy|http://github.com/cpan-testers/cpantesters-deploy>
repository, or been given an SSH key to use this Rexfile.

=head1 SEE ALSO

L<Rex|http://rexify.org>

=cut

use Rex -feature => [ 1.4 ];
use Rex::Commands::Sync;

#######################################################################
# Groups
group backend => 'cpantesters4.dh.bytemark.co.uk';

#######################################################################
# Settings

user 'cpantesters';
private_key '~/.ssh/cpantesters-rex';

# Used to find local, dev copies of the dist
set 'dist_name' => 'CPAN-Testers-Backend';

#######################################################################
# Environments
# The Vagrant VM for development purposes
environment vm => sub {
    group backend => '192.168.127.127'; # the Vagrant VM IP
    set 'no_sudo_password' => 1;
};

#######################################################################

=head1 TASKS

=head2 deploy

    rex deploy
    rex -E vm deploy

Deploy the CPAN Testers backend from CPAN. Do this task after releasing
a version of CPAN::Testers::Backend to CPAN.

=cut

desc "Deploy the CPAN Testers backend from CPAN";
task deploy =>
    group => 'backend',
    sub {
        run 'source ~/.profile; cpanm CPAN::Testers::Backend DBD::mysql';
        run_task 'deploy_config', on => connection->server;
    };

=head2 deploy_dev

    rex -E vm deploy_dev

Deploy a pre-release, development version of the backend. Use this to
install to your dev VM to test things. Will run `dzil build` locally to
build the tarball, then sync that tarball to the remote and install
using `cpanm`.

=cut

task deploy_dev =>
    group => 'backend',
    sub {
        my $dist_name = get 'dist_name';
        my $dist;
        LOCAL {
            Rex::Logger::info( 'Building dist' );
            run 'dzil build';
            my @dists = sort glob "${dist_name}-*.tar.gz";
            $dist = $dists[-1];
        };

        Rex::Logger::info( 'Syncing ' . $dist );
        file '~/dist/' . $dist,
            source => $dist;

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.416 second using v1.00-cache-2.02-grep-82fe00e-cpan-2cc899e4a130 )