Je tente de construire et exécuter mon image Docker en utilisant Gitlab CI/CD, mais il y a un problème que je n'arrive pas à résoudre même si localement tout fonctionne bien.
Voici mon Dockerfile :
FROM
RUN apt update && \
apt install --no-install-recommends -y build-essential gcc
COPY requirements.txt /requirements.txt
RUN pip install --no-cache-dir --user -r /requirements.txt
COPY . /src
WORKDIR /src
ENTRYPOINT ["python", "-m", "dvc", "repro"]
Voici comment je lance le conteneur :
docker run --volume ${PWD}:/src --env=GOOGLE_APPLICATION_CREDENTIALS= ./dvc_configs/free/dvc.yaml --force
Tout fonctionne très bien lors de l'exécution en local, mais cela échoue lors de l'exécution sur Gitlab CI/CD.
stages:
- build_image
build_image:
stage: build_image
image:
script:
- echo "Construction de l'image Docker..."
- mkdir ~/.docker
- cat $GOOGLE_CREDENTIALS > ${CI_PROJECT_DIR}/key.json
- docker build . -t
- docker run --volume ${PWD}:/src --env=GOOGLE_APPLICATION_CREDENTIALS= ./dvc_configs/free/dvc.yaml --force
artifacts:
paths:
- "./data/*csv"
expire_in: 1 week
Cela entraîne l'erreur suivante : ERROR: you are not inside of a DVC repository (checked up to mount point '/src')
Au cas où vous ne sauriez pas ce qu'est DVC, il s'agit d'un outil utilisé en apprentissage automatique pour la version de vos modèles, ensembles de données, métriques et, en plus, pour la configuration de vos pipelines, que j'utilise dans mon cas.
Essentiellement, cela nécessite deux dossiers .dvc
et .git
dans le répertoire à partir duquel dvc repro
est exécuté.
Dans ce cas particulier, je ne sais pas pourquoi il n'arrive pas à exécuter cette commande alors que le contenu des dossiers est exactement le même et que .dvc
et .git
existent tous deux.
Merci d'avance!