Skip to content
Snippets Groups Projects
Envoy.blade.php 1.2 KiB
Newer Older
Alex's avatar
Alex committed
@servers(['web' => 'deployer@172.20.115.101'])

@setup
    $repository = 'git@gitlab.cylab.be:a.croix/mark-web-webshells-test.git';
    $root = '~';
    $current_dir = $root . '/current';
    $releases_dir = $root . '/releases';
    $release = date('YmdHis');
    $release_dir = $releases_dir .'/'. $release;
    $env = $root . '/env.prod';
@endsetup

@story('deploy')
    docker_stop
    clone
    composer
    maven
    docker
@endstory

@task('docker_stop')
    docker stop $(docker ps -aq)
    docker rm $(docker ps -aq)
@endtask
@task('clone')
    echo 'clone {{ $repository }} ...'
    [ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
    git clone --depth 1 {{ $repository }} {{ $release_dir }}
    cd {{ $release_dir }}
    git reset --hard {{ $commit }}
@endtask

@task('composer')
    echo "install composer dependencies ..."
    cd {{ $release_dir }}
    composer install --prefer-dist --no-dev -o
@endtask

@task('maven')
    echo "Maven compile"
    cd {{ $release_dir }}
    mvn clean package
    cp target/webshells-tests-1.0-SNAPSHOT.jar modules/
@endtask

@task('docker')
    echo "Docker-compose"
    cd {{ $release_dir }}
    docker system prune --volumes -f
    docker-compose up -d --build
@endtask