Skip to content
Snippets Groups Projects
Commit b1263dce authored by LAMRINI Houda's avatar LAMRINI Houda
Browse files

gitlab-ci

parent 5f2e817a
No related branches found
No related tags found
No related merge requests found
Pipeline #47242 failed
image: docker:20.10.16 # Version plus récente recommandée image: docker:20.10.16 # Version récente pour éviter les bugs
services: services:
- name: docker:20.10.16-dind - name: docker:20.10.16-dind
alias: docker alias: docker
command: ["--tls=false"] # Désactiver TLS pour éviter les erreurs de connexion command: ["--tls=false"] # Désactiver TLS pour éviter les erreurs
variables: variables:
DOCKER_DRIVER: overlay2 DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "" # Désactiver TLS DOCKER_TLS_CERTDIR: "" # Désactiver le TLS (source d'erreur)
DOCKER_HOST: "tcp://localhost:2375" DOCKER_HOST: "tcp://docker:2375"
stages: stages:
- build_push - cleanup
- build
- test
- deploy
Cleanup Unused Docker Images:
stage: cleanup
tags:
- docker
script:
- docker image prune -f || true # Supprime les anciennes images inutilisées
Build Docker:
stage: build
tags:
- docker
before_script: before_script:
- echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY - echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
script:
- docker build . --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
build-push-image: Run Tests:
stage: build_push stage: test
tags: tags:
- docker - docker
script: script:
- docker build . --tag $CI_REGISTRY/my-image:latest # Lancer les tests ici (exemple : pytest, Jest, etc.)
- docker push $CI_REGISTRY/my-image:latest - echo "Running tests..."
services: - docker run --rm $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME pytest
- name: docker:20.10.16-dind
alias: docker Deploy to Prod:
command: ["--tls=false"] stage: deploy
variables: only:
DOCKER_HOST: "tcp://localhost:2375" - main # Déploiement uniquement sur la branche `main`
DOCKER_TLS_CERTDIR: "" tags:
rules: - docker
- if: '$CI_COMMIT_BRANCH == "main"'
before_script: before_script:
- echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY - echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
script: script:
- docker build . --tag $CI_REGISTRY/my-image:latest - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
- docker push $CI_REGISTRY/my-image:latest - docker run -d --name my-app -p 8080:80 $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
retry: 2 # Réessaie deux fois en cas d'échec - docker image prune -f || true # Nettoyer les images inutiles
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment