|
@@ -1,33 +1,47 @@
|
|
|
|
|
+
|
|
|
name: Build Docker Image
|
|
name: Build Docker Image
|
|
|
|
|
|
|
|
on:
|
|
on:
|
|
|
push:
|
|
push:
|
|
|
- branches:
|
|
|
|
|
- - main # Déclenche l'action seulement pour la branche "main"
|
|
|
|
|
- pull_request:
|
|
|
|
|
branches:
|
|
branches:
|
|
|
- main
|
|
- main
|
|
|
|
|
|
|
|
|
|
+permissions:
|
|
|
|
|
+ contents: read
|
|
|
|
|
+
|
|
|
jobs:
|
|
jobs:
|
|
|
build:
|
|
build:
|
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
steps:
|
|
|
- # Vérifie le code dans le dépôt
|
|
|
|
|
- name: Checkout code
|
|
- name: Checkout code
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
|
|
+ uses: actions/checkout@v7
|
|
|
|
|
+ with:
|
|
|
|
|
+ persist-credentials: false
|
|
|
|
|
|
|
|
- # Configure Docker pour s'authentifier sur DockerHub
|
|
|
|
|
- name: Log in to DockerHub
|
|
- name: Log in to DockerHub
|
|
|
- run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
|
|
|
|
|
|
|
+ env:
|
|
|
|
|
+ DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
|
|
|
+ DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
|
+ run: |
|
|
|
|
|
+ echo "$DOCKER_PASSWORD" | docker login \
|
|
|
|
|
+ -u "$DOCKER_USERNAME" --password-stdin
|
|
|
|
|
+
|
|
|
|
|
+ - name: Build Docker image
|
|
|
|
|
+ env:
|
|
|
|
|
+ DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
|
|
|
+ run: |
|
|
|
|
|
+ IMAGE="$DOCKER_USERNAME/chatbot-maisonnette"
|
|
|
|
|
+
|
|
|
|
|
+ docker build . \
|
|
|
|
|
+ -t "$IMAGE:$GITHUB_SHA" \
|
|
|
|
|
+ -t "$IMAGE:latest"
|
|
|
|
|
|
|
|
- # Build l'image Docker avec deux tags: un pour le SHA du commit et un pour latest
|
|
|
|
|
- - name: Build the Docker image
|
|
|
|
|
|
|
+ - name: Push Docker images
|
|
|
|
|
+ env:
|
|
|
|
|
+ DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
|
run: |
|
|
run: |
|
|
|
- docker build . -t ${{ secrets.DOCKER_USERNAME }}/chatbot-maisonnette:${{ github.sha }} -t ${{ secrets.DOCKER_USERNAME }}/chatbot-maisonnette:latest
|
|
|
|
|
|
|
+ IMAGE="$DOCKER_USERNAME/chatbot-maisonnette"
|
|
|
|
|
|
|
|
- # Pousse l'image Docker sur DockerHub
|
|
|
|
|
- - name: Push the Docker image
|
|
|
|
|
- run: docker push ${{ secrets.DOCKER_USERNAME }}/chatbot-maisonnette:${{ github.sha }}
|
|
|
|
|
- - name: Push the Docker image with latest tag
|
|
|
|
|
- run: docker push ${{ secrets.DOCKER_USERNAME }}/chatbot-maisonnette:latest
|
|
|
|
|
|
|
+ docker push "$IMAGE:$GITHUB_SHA"
|
|
|
|
|
+ docker push "$IMAGE:latest"
|