Files
web2.0-backend/.gitlab-ci.yml
T
2017-09-15 17:03:51 +03:00

64 lines
1.6 KiB
YAML

image: python:3.5
services:
- postgres:latest
variables:
POSTGRES_DB: ci
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
stages:
- test
- lint
- deploy
test:
stage: test
variables:
DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB"
script:
- python -V
- pip install -r requirements.txt
- cp sikweb/settings-sample.py sikweb/default_settings.py
- cp sikweb/.ci-settings.py sikweb/settings.py
- python manage.py migrate --noinput
- python manage.py createdefaultadmin
- python manage.py test
pep8:
stage: lint
script:
- pip install pep8
- pep8 --config=setup.cfg --count .
eslint:
image: node:7.10.0
stage: lint
script:
- npm install -g eslint
- eslint .
deploy:
stage: deploy
image: docker:latest
environment:
name: dev
url: http://web.sik.party
only:
- develop
before_script:
- docker info
- mkdir -p ~/.ssh
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- chmod a+x /usr/local/bin/docker-compose
script:
- python -V
- docker-compose build
- docker-compose push
- scp docker-compose.yaml $SSH_USER@web.sik.party:~/deployment/
- ssh $SSH_USER@web.sik.party 'cd deployment && docker-compose pull web20:latest && docker-compose up -d'