Skip to content
Snippets Groups Projects
Envoy.blade.php 1.45 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')
Alex's avatar
Alex committed
    echo 'Stop docker container'
Alex's avatar
Alex committed
    docker stop $(docker ps -aq)
    docker rm $(docker ps -aq)
Alex's avatar
Alex committed
    docker image rm gitlab.cylab.be:8081/cylab/mark-web:latest
Alex's avatar
Alex committed
@endtask
@task('clone')
    echo 'clone {{ $repository }} ...'
    [ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
    git clone --depth 1 {{ $repository }} {{ $release_dir }}
    cd {{ $release_dir }}
@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 }}
Alex's avatar
Alex committed
    docker-compose up -d
Alex's avatar
Alex committed
@endtask

@task('database')
    echo "Copy sqlite db into mark-web container"
Alex's avatar
Alex committed
    docker cp db.sqlite.bak mark-web:/var/www/html/storage/app/db.sqlite
    docker exec mark-web chown -R www-data:www-data /var/www/html/storage/app/db.sqlite
@endtask