Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.22 KiB
image: python:3.9

#services:
#  - postgres:13

variables:
  POSTGRES_DB: kszkepzes
  CONTAINER_IMAGE: 'registry.kszk.bme.hu/kszk/devteam/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME'

cache:
  key: '$CI_JOB_NAME-$CI_COMMIT_REF_SLUG'
  paths:
    - .cache/pip
    - env/

stages:
  - Test and Flake8
  - Docker Build
  - deploy

Flake8:
  stage: Test and Flake8
  only:
    - dev
    - master
    - tags
  tags: [kszk]
  script:
    - python -V
    - python3 -m venv env
    - source env/bin/activate
    - pip install -r requirements/production.txt
    - flake8 --max-line-length=125 --exclude=src/kszkepzes,migrations,env

# TODO write tests
# Test:
#   stage: Test and Flake8
#   only:
#     - dev
#     - master
#   tags: [kszk]
#   variables:
#     DATABASE_URL: 'postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB'
#     SECRET_KEY: 'secret'
#     AUTHSCH_KEY: 'secret'
#     AUTHSCH_SECRET: 'secret'
#   script:
#     - python -V
#     - python3 -m venv env
#     - source env/bin/activate
#     - pip install -r requirements/production.txt
#     - python src/manage.py test

Docker build to KSZK registry:
  stage: Docker Build
  tags: [kszk]
  only:
    - tags
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: ['']
  script:
    - echo "{\"auths\":{\"registry.kszk.bme.hu\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CONTAINER_IMAGE

Deploy to Kubernetes:
  stage: deploy
  image: alpine
  tags: [devteam]
  environment: