diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..b314fa3 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,95 @@ +kind: pipeline +type: docker +name: default + +trigger: + event: + - push + +steps: + - name: build + image: python:3.9-slim-buster + volumes: + - name: docs + path: /docs + commands: + - cd src/ + - python -m venv venv + - source venv/bin/activate + - pip install -r requirements.txt + - python setup.py install + - python -m pytest + - python setup.py sdist bdist_wheel + + - name: upload + image: python:3.9-slim-buster + volumes: + - name: docs + path: /docs + commands: + - cd Sources/ + - pip install twine + - twine upload dist/* + + + # docker image build + - name: docker-build-and-push + image: plugins/docker + settings: + dockerfile: ./Dockerfile + context: src/ + registry: hub.codefirst.iut.uca.fr + repo: hub.codefirst.iut.uca.fr/louis.dufour/detection_d_intrusion + username: + from_secret: SECRET_REGISTRY_USERNAME + password: + from_secret: SECRET_REGISTRY_PASSWORD + + + - name: generate-and-deploy-docs + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-docdeployer + failure: ignore + volumes: + - name: docs + path: /docs + commands: + #- cd Documentation/doxygen + #- doxygen Doxyfile + - /entrypoint.sh + when: + branch: + - master + depends_on: [ build ] + + # container deployment + - name: deploy-container + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest + environment: + IMAGENAME: hub.codefirst.iut.uca.fr/louis.dufour/detection_d_intrusion:latest + CONTAINERNAME: containersae + COMMAND: create + OVERWRITE: true + depends_on: [ docker-build-and-push ] + + - name: code-analysis + image: sonarsource/sonar-scanner-cli:latest + commands: + - cd src/ + - sonar-scanner \ + -Dsonar.projectKey=MyPythonProject \ + -Dsonar.projectName=My Python Project \ + -Dsonar.sources=. \ + -Dsonar.host.url=$${PLUGIN_SONAR_HOST} \ + -Dsonar.login=$${PLUGIN_SONAR_TOKEN} + secrets: [ SONAR_TOKEN ] + settings: + # accessible en ligne de commande par $${PLUGIN_SONAR_HOST} + sonar_host: https://codefirst.iut.uca.fr/sonar/ + # accessible en ligne de commande par $${PLUGIN_SONAR_TOKEN} + sonar_token: + from_secret: SONAR_TOKEN + depends_on: [build] + +volumes: +- name: docs + temp: {} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1a43d9c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# Définit l'image de base +FROM python:3.9 + +# Crée le répertoire de travail et le définit comme répertoire courant +WORKDIR /app + +# Copie les fichiers du projet dans le conteneur +COPY . . + +# Installe les dépendances du projet +RUN pip install --no-cache-dir -r requirements.txt + +# Expose le port utilisé par l'application +EXPOSE 8000 + +# Démarre l'application +CMD ["python", "app.py"] diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..bd457d9 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +psycopg2 +pandas +getpass +scapy.all +scapy.contrib.modbus \ No newline at end of file diff --git a/src/Main.py b/src/Main.py index 21466ba..28775cb 100644 --- a/src/Main.py +++ b/src/Main.py @@ -7,7 +7,6 @@ # # ======================================================================== -from cProfile import label import psycopg2 as psy# pip3 install types-psycopg2 import pandas as pd # pip3 install pandas import getpass