diff --git a/Envoy.blade.php b/Envoy.blade.php index 3e4599d..263f507 100644 --- a/Envoy.blade.php +++ b/Envoy.blade.php @@ -1,4 +1,5 @@ @servers(['localhost' => 'deployer@192.168.0.13']) +@servers(['dev' => 'deployer@192.168.0.5']) @setup $repository = 'ssh://git@g.skillbox.ru:22004/kor_a_m/skill-back.git'; @@ -18,68 +19,78 @@ deployment_option_cleanup @endstory -@task('clone_repository', ['on' => 'localhost']) -echo '>> Клонируем репозиторий' +@story('deploydev', ['on' => 'dev']) + clone_repository + create_symlinks + install_req + run_tests + run_migrate + update_symlinks + deployment_option_cleanup +@endstory -echo '{{ $new_release_dir }}' -[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }} -@if ($branch) - git clone -b {{ $branch }} {{ $repository }} {{ $new_release_dir }} -@endif +@task('clone_repository') + echo '>> Клонируем репозиторий' + + echo '{{ $new_release_dir }}' + [ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }} + @if ($branch) + git clone -b {{ $branch }} {{ $repository }} {{ $new_release_dir }} + @endif @endtask -@task('create_symlinks', ['on' => 'localhost']) -echo '>> Создание симлинков' -ln -s {{ $app_dir }}/configs/master/ssl {{ $new_release_dir }}/ssl -@if ($branch == 'master') - 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 -@endif -@if ($branch == 'dev') - 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 -@endif -ln -nfs {{ $app_dir }}/logs/{{ $branch }} {{ $new_release_dir }}/logs +@task('create_symlinks') + echo '>> Создание симлинков' + ln -s {{ $app_dir }}/configs/master/ssl {{ $new_release_dir }}/ssl + @if ($branch == 'master') + 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 + @endif + @if ($branch == 'dev') + 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 + @endif + ln -nfs {{ $app_dir }}/logs/{{ $branch }} {{ $new_release_dir }}/logs @endtask -@task('install_req', ['on' => 'localhost']) -echo '>> Подтягиваем зависимости' -@if ($branch) - cd {{ $new_release_dir }} - source /env/bin/activate && pip install -r requirements.txt -@endif +@task('install_req') + echo '>> Подтягиваем зависимости' + @if ($branch) + cd {{ $new_release_dir }} + source /env/bin/activate && pip install -r requirements.txt + @endif @endtask -@task('run_tests', ['on' => 'localhost']) -echo '>> Запускаем тесты' -@if ($branch) - cd {{ $new_release_dir }} - source /env/bin/activate && python manage.py test -@endif +@task('run_tests') + echo '>> Запускаем тесты' + @if ($branch) + cd {{ $new_release_dir }} + source /env/bin/activate && python manage.py test + @endif @endtask -@task('run_migrate', ['on' => 'localhost']) -echo '>> Запускаем миграции' -@if ($branch) - cd {{ $new_release_dir }} - source /env/bin/activate && python manage.py migrate -@endif +@task('run_migrate') + echo '>> Запускаем миграции' + @if ($branch) + cd {{ $new_release_dir }} + source /env/bin/activate && python manage.py migrate + @endif @endtask -@task('update_symlinks', ['on' => 'localhost']) -@if ($branch) - ln -nfs {{ $app_dir }}/configs/{{ $branch }}/wsgi.py {{ $new_release_dir }}/lms/wsgi.py - echo '>> Создаем симлинк на папку текущего релиза' - ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current_{{ $branch }} - echo '>> restart Supervisor' - supervisorctl restart {{ $branch }}: -@endif +@task('update_symlinks') + @if ($branch) + ln -nfs {{ $app_dir }}/configs/{{ $branch }}/wsgi.py {{ $new_release_dir }}/lms/wsgi.py + echo '>> Создаем симлинк на папку текущего релиза' + ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current_{{ $branch }} + echo '>> restart Supervisor' + supervisorctl restart {{ $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" + find . -maxdepth 1 -name "20*{{ $branch }}" -mmin +30 | head -n 3 | xargs rm -Rf + echo "Cleaned up old deployments" @endif @endtask