access-controller/.gitlab-ci.yml

68 lines
1.2 KiB
YAML

image: python:3.9-alpine
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache"
cache:
paths:
- .cache/pip
stages:
- test
- style
- build
- deploy
django_test:
stage: test
before_script:
- pip install -r requirements/dev.txt
script:
- python manage.py test
coverage:
stage: test
before_script:
- pip install -r requirements/dev.txt
script:
- coverage run
- coverage report -m
- coverage html -d public/coverage
artifacts:
paths:
- public/coverage
pylint:
stage: style
allow_failure: true
before_script:
- pip install -r requirements/dev.txt
script:
- pylint --reports=yes main
docker:
stage: build
only:
- master
tags:
- docker
before_script:
- docker info
- docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD gitlab.cazzzer.com:5050
script:
- docker build . -t gitlab.cazzzer.com:5050/cazzzer/zendesk-access-controller:alpine
- docker push gitlab.cazzzer.com:5050/cazzzer/zendesk-access-controller:alpine
after_script:
- docker logout
deploy:
stage: deploy
only:
- master
tags:
- cazzzer-internal
script:
- sudo -u cazzzer /home/cazzzer/deploy_access_controller.sh