Merge branch 'autodeploy' into 'dev'

Autodeploy

See merge request !3
feature/fix_generate_pass
Marat 8 years ago
commit bacd77b687
  1. 49
      .gitlab-ci.yml
  2. 18
      Envoy.blade.php
  3. 7
      lms/wsgi.py

@ -0,0 +1,49 @@
variables:
SERVER_URL: "go.skillbox.ru"
DOMAIN: "$CI_BUILD_REF_SLUG.$SERVER_URL"
GIT_DEPTH: "1"
types:
- deploy_branch
- deploy_production
deploy_branch:
stage: deploy_branch
script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ~/.composer/vendor/bin/envoy run deploy --cleanup --branch="$CI_BUILD_REF_SLUG"
environment:
name: production
url: https://go.skillbox.ru
variables:
GIT_DEPTH: "1"
# when: manual
only:
- dev
- autodeploy
deploy_production:
stage: deploy_production
script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ~/.composer/vendor/bin/envoy run deploy --cleanup --branch="$CI_BUILD_REF_SLUG"
environment:
name: production
url: https://go.skillbox.ru
variables:
GIT_DEPTH: "1"
when: manual
only:
- master

@ -1,15 +1,16 @@
@servers(['localhost' => 'deployer@192.168.0.13'])
@setup
$repository = 'ssh://git@g.skillbox.ru:22004/kor_a_m/lms-front.git';
$repository = 'ssh://git@g.skillbox.ru:22004/kor_a_m/skill-back.git';
$releases_dir = '/www/site/back_go.skillbox.ru/releases';
$app_dir = '/www/site/back_go.skillbox.ru/';
$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
@ -24,10 +25,19 @@ echo '{{ $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 manage.py test
@endif
@endtask
@task('update_symlinks', ['on' => 'localhost'])
@if ($branch)
echo '>> Создаем симлинк на папку текущего релиза'
ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current_{{ $branch }}
ln -nfs {{ $new_release_dir }}/lms/wsgi.py {{ $app_dir }}/configs/{{ $branch }}/wsgi.py
echo '>> Создаем симлинк на папку текущего релиза'
ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current_{{ $branch }}
@endif
@endtask

@ -1,7 +0,0 @@
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
application = get_wsgi_application()
Loading…
Cancel
Save