|
|
|
@ -1,4 +1,5 @@ |
|
|
|
@servers(['localhost' => 'deployer@192.168.0.13']) |
|
|
|
@servers(['localhost' => 'deployer@192.168.0.13']) |
|
|
|
|
|
|
|
@servers(['dev' => 'deployer@192.168.0.5']) |
|
|
|
|
|
|
|
|
|
|
|
@setup |
|
|
|
@setup |
|
|
|
$repository = 'ssh://git@g.skillbox.ru:22004/kor_a_m/skill-back.git'; |
|
|
|
$repository = 'ssh://git@g.skillbox.ru:22004/kor_a_m/skill-back.git'; |
|
|
|
@ -18,62 +19,72 @@ |
|
|
|
deployment_option_cleanup |
|
|
|
deployment_option_cleanup |
|
|
|
@endstory |
|
|
|
@endstory |
|
|
|
|
|
|
|
|
|
|
|
@task('clone_repository', ['on' => 'localhost']) |
|
|
|
@story('deploydev', ['on' => 'dev']) |
|
|
|
echo '>> Клонируем репозиторий' |
|
|
|
clone_repository |
|
|
|
|
|
|
|
create_symlinks |
|
|
|
|
|
|
|
install_req |
|
|
|
|
|
|
|
run_tests |
|
|
|
|
|
|
|
run_migrate |
|
|
|
|
|
|
|
update_symlinks |
|
|
|
|
|
|
|
deployment_option_cleanup |
|
|
|
|
|
|
|
@endstory |
|
|
|
|
|
|
|
|
|
|
|
echo '{{ $new_release_dir }}' |
|
|
|
@task('clone_repository') |
|
|
|
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }} |
|
|
|
echo '>> Клонируем репозиторий' |
|
|
|
@if ($branch) |
|
|
|
|
|
|
|
|
|
|
|
echo '{{ $new_release_dir }}' |
|
|
|
|
|
|
|
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }} |
|
|
|
|
|
|
|
@if ($branch) |
|
|
|
git clone -b {{ $branch }} {{ $repository }} {{ $new_release_dir }} |
|
|
|
git clone -b {{ $branch }} {{ $repository }} {{ $new_release_dir }} |
|
|
|
@endif |
|
|
|
@endif |
|
|
|
@endtask |
|
|
|
@endtask |
|
|
|
|
|
|
|
|
|
|
|
@task('create_symlinks', ['on' => 'localhost']) |
|
|
|
@task('create_symlinks') |
|
|
|
echo '>> Создание симлинков' |
|
|
|
echo '>> Создание симлинков' |
|
|
|
ln -s {{ $app_dir }}/configs/master/ssl {{ $new_release_dir }}/ssl |
|
|
|
ln -s {{ $app_dir }}/configs/master/ssl {{ $new_release_dir }}/ssl |
|
|
|
@if ($branch == 'master') |
|
|
|
@if ($branch == 'master') |
|
|
|
ln -nfs {{ $app_dir }}/configs/master/prod.env {{ $new_release_dir }}/config_app/settings/local.env |
|
|
|
ln -nfs {{ $app_dir }}/configs/master/prod.env {{ $new_release_dir }}/config_app/settings/local.env |
|
|
|
ln -nfs {{ $app_dir }}/media/master {{ $new_release_dir }}/media |
|
|
|
ln -nfs {{ $app_dir }}/media/master {{ $new_release_dir }}/media |
|
|
|
@endif |
|
|
|
@endif |
|
|
|
@if ($branch == 'dev') |
|
|
|
@if ($branch == 'dev') |
|
|
|
ln -nfs {{ $app_dir }}/configs/dev/dev.env {{ $new_release_dir }}/config_app/settings/local.env |
|
|
|
ln -nfs {{ $app_dir }}/configs/dev/dev.env {{ $new_release_dir }}/config_app/settings/local.env |
|
|
|
ln -nfs {{ $app_dir }}/media/master {{ $new_release_dir }}/media |
|
|
|
ln -nfs {{ $app_dir }}/media/master {{ $new_release_dir }}/media |
|
|
|
@endif |
|
|
|
@endif |
|
|
|
ln -nfs {{ $app_dir }}/logs/{{ $branch }} {{ $new_release_dir }}/logs |
|
|
|
ln -nfs {{ $app_dir }}/logs/{{ $branch }} {{ $new_release_dir }}/logs |
|
|
|
@endtask |
|
|
|
@endtask |
|
|
|
|
|
|
|
|
|
|
|
@task('install_req', ['on' => 'localhost']) |
|
|
|
@task('install_req') |
|
|
|
echo '>> Подтягиваем зависимости' |
|
|
|
echo '>> Подтягиваем зависимости' |
|
|
|
@if ($branch) |
|
|
|
@if ($branch) |
|
|
|
cd {{ $new_release_dir }} |
|
|
|
cd {{ $new_release_dir }} |
|
|
|
source /env/bin/activate && pip install -r requirements.txt |
|
|
|
source /env/bin/activate && pip install -r requirements.txt |
|
|
|
@endif |
|
|
|
@endif |
|
|
|
@endtask |
|
|
|
@endtask |
|
|
|
|
|
|
|
|
|
|
|
@task('run_tests', ['on' => 'localhost']) |
|
|
|
@task('run_tests') |
|
|
|
echo '>> Запускаем тесты' |
|
|
|
echo '>> Запускаем тесты' |
|
|
|
@if ($branch) |
|
|
|
@if ($branch) |
|
|
|
cd {{ $new_release_dir }} |
|
|
|
cd {{ $new_release_dir }} |
|
|
|
source /env/bin/activate && python manage.py test |
|
|
|
source /env/bin/activate && python manage.py test |
|
|
|
@endif |
|
|
|
@endif |
|
|
|
@endtask |
|
|
|
@endtask |
|
|
|
|
|
|
|
|
|
|
|
@task('run_migrate', ['on' => 'localhost']) |
|
|
|
@task('run_migrate') |
|
|
|
echo '>> Запускаем миграции' |
|
|
|
echo '>> Запускаем миграции' |
|
|
|
@if ($branch) |
|
|
|
@if ($branch) |
|
|
|
cd {{ $new_release_dir }} |
|
|
|
cd {{ $new_release_dir }} |
|
|
|
source /env/bin/activate && python manage.py migrate |
|
|
|
source /env/bin/activate && python manage.py migrate |
|
|
|
@endif |
|
|
|
@endif |
|
|
|
@endtask |
|
|
|
@endtask |
|
|
|
|
|
|
|
|
|
|
|
@task('update_symlinks', ['on' => 'localhost']) |
|
|
|
@task('update_symlinks') |
|
|
|
@if ($branch) |
|
|
|
@if ($branch) |
|
|
|
ln -nfs {{ $app_dir }}/configs/{{ $branch }}/wsgi.py {{ $new_release_dir }}/lms/wsgi.py |
|
|
|
ln -nfs {{ $app_dir }}/configs/{{ $branch }}/wsgi.py {{ $new_release_dir }}/lms/wsgi.py |
|
|
|
echo '>> Создаем симлинк на папку текущего релиза' |
|
|
|
echo '>> Создаем симлинк на папку текущего релиза' |
|
|
|
ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current_{{ $branch }} |
|
|
|
ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current_{{ $branch }} |
|
|
|
echo '>> restart Supervisor' |
|
|
|
echo '>> restart Supervisor' |
|
|
|
supervisorctl restart {{ $branch }}: |
|
|
|
supervisorctl restart {{ $branch }}: |
|
|
|
@endif |
|
|
|
@endif |
|
|
|
@endtask |
|
|
|
@endtask |
|
|
|
|
|
|
|
|
|
|
|
@task('deployment_option_cleanup') |
|
|
|
@task('deployment_option_cleanup') |
|
|
|
|