@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') echo 'Stop docker container' docker stop $(docker ps -aq) docker rm $(docker ps -aq) docker image rm gitlab.cylab.be:8081/cylab/mark-web:latest @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 }} docker-compose up -d @endtask @task('database') echo "Copy sqlite db into mark-web container" 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