| name: Build and push to ACR | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| ACR_NAME: predictionsentimentsregistry # e.g. myregistry | |
| IMAGE_REPO: predictionsentiments # e.g. myapp | |
| IMAGE_TAG: latest # or "latest" | |
| jobs: | |
| build-and-push: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Azure login (Service Principal) | |
| uses: azure/login@v2 | |
| with: | |
| creds: > | |
| { | |
| "clientId": "${{ secrets.AZURE_CLIENT_ID }}", | |
| "clientSecret": "${{ secrets.AZURE_CLIENT_SECRET }}", | |
| "tenantId": "${{ secrets.AZURE_TENANT_ID }}", | |
| "subscriptionId": "${{ secrets.AZURE_SUBSCRIPTION_ID }}" | |
| } | |
| - name: Login to ACR | |
| run: az acr login -n $ACR_NAME | |
| - name: Build image | |
| run: | | |
| docker build \ | |
| -t $ACR_NAME.azurecr.io/$IMAGE_REPO:$IMAGE_TAG \ | |
| -f Projet_7_API/Dockerfile Projet_7_API | |
| - name: Push image | |
| run: | | |
| docker push $ACR_NAME.azurecr.io/$IMAGE_REPO:$IMAGE_TAG |