variables: DOCKER_USER: pfingstfrosch ASSIGNMENT: waecm-2021-group-04-bsp-3 stages: - build - lint - test - docker-build - docker-push .python-image: image: python:3.8-slim .angular-image: image: johnpapa/angular-cli ######## # BUILD ################################################################# #build_fe: # image: node:alpine # script: # - echo '' # extends: # - .build .build: stage: build build_be: before_script: - apt-get update - apt-get install -y build-essential gcc - python -m venv /opt/venv - python -m pip install --upgrade pip script: - cd ./backend - python setup.py sdist artifacts: untracked: true extends: - .build - .python-image ######## # LINT ################################################################# .lint: stage: lint lint_fe: script: - cd ./frontend - npm update - ng lint extends: - .lint - .angular-image artifacts: untracked: true # needs: # - build_fe #lint_be: # script: # - echo '' # extends: # - .lint # needs: # - build_be ######## # TEST ################################################################# .test: stage: test test_fe: script: - cd ./frontend - npm update - ng test extends: - .test - .angular-image needs: - lint_fe #test_be: # script: # - cd ./backend # - ls -l # extends: # - .test # needs: # - build_be ######## # DOCKER-BUILD ################################################################# .docker-build: stage: docker-build .docker-setup: image: gitlab/dind services: - docker:dind before_script: - echo "$DOCKER_PW" | docker login --username $DOCKER_USER --password-stdin artifacts: untracked: true tags: - docker docker-build-fe: script: - docker-compose build waecm_g4_fe - docker save -o waecm_g4_fe ${DOCKER_USER}/${ASSIGNMENT}-fe extends: - .docker-build - .docker-setup needs: - test_fe docker-build-be: script: - docker-compose build waecm_g4_be - docker save -o waecm_g4_be ${DOCKER_USER}/${ASSIGNMENT}-be extends: - .docker-build - .docker-setup needs: - build_be ######## # DOCKER-PUSH ################################################################# .docker-push: stage: docker-push docker-push-fe: script: - docker image load --input waecm_g4_fe - docker-compose push waecm_g4_fe extends: - .docker-push - .docker-setup needs: - docker-build-fe docker-push-be: script: - docker image load --input waecm_g4_be - docker-compose push waecm_g4_be extends: - .docker-push - .docker-setup needs: - docker-build-be