You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

49 lines
1.4 KiB

@servers(['localhost' => 'deployer@192.168.0.13'])
@setup
$repository = 'ssh://git@g.skillbox.ru:22004/kor_a_m/lms-front.git';
$releases_dir = '/www/site/back_go.skillbox.ru/releases';
$app_dir = '/www/site/back_go.skillbox.ru';
$release = date('YmdHis');
$new_release_dir = $releases_dir .'/'. $release . '_' . $branch;
@endsetup
@story('deploy', ['on' => 'localhost'])
clone_repository
run_tests
update_symlinks
deployment_option_cleanup
@endstory
@task('clone_repository', ['on' => 'localhost'])
echo '>> Клонируем репозиторий'
echo '{{ $new_release_dir }}'
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
@if ($branch)
git clone -b {{ $branch }} {{ $repository }} {{ $new_release_dir }}
@endif
@endtask
@task('run_tests', ['on' => 'localhost'])
echo '>> Запускаем тесты'
@if ($branch)
cd {{ $new_release_dir }}
source /www/servers/python-server/bin/activate && python {{ $new_release_dir }}/manage.py test
@endif
@endtask
@task('update_symlinks', ['on' => 'localhost'])
@if ($branch)
echo '>> Создаем симлинк на папку текущего релиза'
ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current_{{ $branch }}
@endif
@endtask
@task('deployment_option_cleanup')
cd {{ $releases_dir }}
@if ( isset($cleanup) && $cleanup )
find . -maxdepth 1 -name "20*{{ $branch }}" -mmin +30 | head -n 3 | xargs rm -Rf
echo "Cleaned up old deployments"
@endif
@endtask