diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2843e1483c329663d6af689cd0e0b116e9d5ca2b..72dcf886bc9d2e244f835c4249ae1c51bcd8ffd2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,17 +26,6 @@ image: python:3.9 # Password: $MYSQL_PASSWORD # Database: $MYSQL_DATABASE -# cache: -# paths: -# - .cache/pip -# - venv/ - # - env/ - -# before_script: - # - python --version # For debugging - # - pip install venv - # - python3 -m venv /venv - # - source /venv/bin/activate stages: - build @@ -48,6 +37,11 @@ workflow: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: $CI_COMMIT_BRANCH +cache: + paths: + - venv/ + - frontend/node_modules/ + # include: # - template: 'Code-Quality.gitlab-ci.yml' @@ -57,17 +51,21 @@ workflow: #### #### ####################################################################################################################################### -install: +install-virtualenv: stage: build script: - - python3 -m venv ./venv - - source ./venv/bin/activate + - python3 -m venv venv/ + - source venv/bin/activate - pip install --upgrade pip && pip install pip-tools - pip install -r ./backend/requirements.txt - artifacts: - paths: - - ./venv/ - expire_in: 30 mins + + +install-npm-packages: + image: node:14.6.0 + stage: build + script: + - cd ./frontend + - npm ci ####################################################################################################################################### #### #### @@ -78,20 +76,22 @@ install: lint-back: stage: test before_script: - - source ./venv/bin/activate + - source venv/bin/activate - pip install pycodestyle script: - pycodestyle --config=./backend/setup.cnf ./backend + dependencies: + - install-virtualenv lint-front: image: node:14.6.0 stage: test - before_script: - - cd frontend/ - - npm install script: + - cd frontend/ - npm run lint + dependencies: + - install-npm-packages # test: @@ -161,7 +161,7 @@ lint-front: - cd ./frontend - echo 'REACT_APP_BASE_URL_BACK="http://eatfast.cs-campus.fr/api"' > .env; - echo 'REACT_APP_BASE_URL_FRONT="http://eatfast.cs-campus.fr"' >> .env; - - npm install && npm run build + - npm run build; - scp -r build/ eatfast@"$DOMAIN":/var/www/eatfast-website/frontend ; fi @@ -184,6 +184,7 @@ deploy-back-prod: DOMAIN: eatfast.cs-campus.fr PRIVATE_KEY: "$SSH_PRIVATE_KEY" IMAGE: "back" + dependencies: [] deploy-front-prod: @@ -195,3 +196,5 @@ deploy-front-prod: DOMAIN: eatfast.cs-campus.fr PRIVATE_KEY: "$SSH_PRIVATE_KEY" IMAGE: "front" + dependencies: + - install-npm-packages