Skip to content
GitLab
Projets
Groupes
Sujets
Extraits de code
/
Aide
Aide
Support
Forum de la communauté
Raccourcis clavier
?
Proposer une rétroaction
Contribuer à GitLab
Connexion
Activer/désactiver la navigation
Menu
aw242765
docker-swarm-md5
Comparer les révisions
720ecfd4e244ca3ebe91b7cd7db351c2e6f8bbf5...c3a63be6ae995d3d822f37d3f6a99d1aa1d051c6
Commits (5)
feat: moving pytest dependency to requirements file
· 57d39244
aa243527
a écrit
mar. 08, 2025
57d39244
fix: moving pytest dependency to requirements file
· 942d6765
aa243527
a écrit
mar. 08, 2025
942d6765
feat :adding ci pipeline
· 09804e52
aa243527
a écrit
mar. 08, 2025
09804e52
Fix REDIS_PORT parsing for GitLab CI and Docker
· aaa89ccd
aa243527
a écrit
mar. 08, 2025
aaa89ccd
Merge branch '9-ajout-du-pipeline-ci' into 'main'
· c3a63be6
aw242765
a écrit
mar. 08, 2025
9 ajout du pipeline ci See merge request
!8
c3a63be6
Masquer les modifications d'espaces
En ligne
Côte à côte
.gitlab-ci.yml
0 → 100644
Voir le fichier @
c3a63be6
stages
:
-
test
test_backend
:
stage
:
test
image
:
python:3.11
services
:
-
name
:
redis:alpine
alias
:
redis
before_script
:
-
pip install --upgrade pip
-
pip install -r backend/requirements.txt
-
pip install pytest
script
:
-
pytest backend/test_app.py
only
:
-
merge_requests
# Exécute les tests uniquement sur un Merge Request
backend/Dockerfile
Voir le fichier @
c3a63be6
...
@@ -12,7 +12,6 @@ COPY requirements.txt .
...
@@ -12,7 +12,6 @@ COPY requirements.txt .
# Installer les dépendances et ajouter pytest
# Installer les dépendances et ajouter pytest
RUN
pip
install
--no-cache-dir
-r
requirements.txt
RUN
pip
install
--no-cache-dir
-r
requirements.txt
RUN
pip
install
--no-cache-dir
pytest
# Copier le reste du code (y compris les tests)
# Copier le reste du code (y compris les tests)
COPY
. /app
COPY
. /app
...
...
backend/app.py
Voir le fichier @
c3a63be6
...
@@ -4,6 +4,7 @@ import hashlib
...
@@ -4,6 +4,7 @@ import hashlib
import
itertools
import
itertools
import
logging
import
logging
import
subprocess
import
subprocess
import
re
# <-- Import pour extraire le numéro du port
from
flask
import
Flask
,
request
,
jsonify
from
flask
import
Flask
,
request
,
jsonify
from
flask_cors
import
CORS
# Import pour activer CORS
from
flask_cors
import
CORS
# Import pour activer CORS
...
@@ -16,7 +17,13 @@ CORS(app) # Activation de CORS pour toutes les routes
...
@@ -16,7 +17,13 @@ CORS(app) # Activation de CORS pour toutes les routes
# Configuration de Redis
# Configuration de Redis
redis_host
=
os
.
getenv
(
"REDIS_HOST"
,
"redis"
)
# "redis" correspond au service Redis dans Docker
redis_host
=
os
.
getenv
(
"REDIS_HOST"
,
"redis"
)
# "redis" correspond au service Redis dans Docker
redis_port
=
int
(
os
.
getenv
(
"REDIS_PORT"
,
6379
))
redis_url
=
os
.
getenv
(
"REDIS_PORT"
,
"6379"
)
# Valeur par défaut
# Extraction du numéro de port de Redis (compatible avec GitLab CI/CD et Docker)
redis_port_match
=
re
.
search
(
r
":(\d+)"
,
redis_url
)
redis_port
=
int
(
redis_port_match
.
group
(
1
))
if
redis_port_match
else
6379
# Connexion à Redis
redis_client
=
redis
.
StrictRedis
(
host
=
redis_host
,
port
=
redis_port
,
db
=
0
,
decode_responses
=
True
)
redis_client
=
redis
.
StrictRedis
(
host
=
redis_host
,
port
=
redis_port
,
db
=
0
,
decode_responses
=
True
)
# Clé pour le compteur de requêtes reçues
# Clé pour le compteur de requêtes reçues
...
...
backend/requirements.txt
Voir le fichier @
c3a63be6
Le fichier a été supprimé par une entrée .gitattributes, ou son encodage n'est pas pris en charge.