skip to Main Content

I am having a GitHub action where everything looks like a success, however it seems like the application is not deployed.

yaml:

name: Build and deploy Python app to Azure Web App - fast-api-port

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Set up Python version
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Create and start virtual environment
        run: |
          python -m venv venv
          source venv/bin/activate
      
      - name: Install dependencies
        run: pip install -r requirements.txt
        
      # Optional: Add step to run tests here (PyTest, Django test suites, etc.)

      - name: Zip artifact for deployment
        run: zip release.zip ./* -r

      - name: Upload artifact for deployment jobs
        uses: actions/upload-artifact@v4
        with:
          name: python-app
          path: |
            release.zip
            !venv/

  deploy:
    runs-on: ubuntu-latest
    needs: build
    environment:
      name: 'Production'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
    permissions:
      id-token: write #This is required for requesting the JWT

    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v4
        with:
          name: python-app

      - name: Unzip artifact for deployment
        run: unzip release.zip

      
      - name: Login to Azure
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_7C6D249DE594426EBD4725CC0D066145 }}
          tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_6399B578ADAF41E095CA377A465B8BB1 }}
          subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_527AF2EA4A6A4A8BAC99ECB57B6CE6AB }}

      - name: 'Deploy to Azure Web App'
        uses: azure/webapps-deploy@v3
        id: deploy-to-webapp
        with:
          app-name: 'fast-api-port'
          slot-name: 'Production'

All the steps in the logs succeeds:
enter image description here
enter image description here

The logs says 0 errors and 0 warnings. However when I go into the file manager I cant find any files uploaded and may be why I cant get my app to run:
enter image description here

enter image description here

enter image description here

Am I missing something or should I not be able to see the files? I test with an FTP connection just to be sure but no .py files any where?

2

Answers


  1. As I mention in my comment when deploying a python application to Azure Web Apps (Linux), the files are bundled into a output.tar.gz during the deployment process.

    This archive contains all the files and dependencies like virtual environment, requirements.txt to run an application on Azure App Service.

    We can inspect the content by downloading the output.tar.gz folder.

    In the Kudu console, you can find the output.tar.gz file under File Manager -> site/wwwroot.

    enter image description here

    enter image description here

    Login or Signup to reply.
  2. Check with this link to upload your githup code and integrate with Azure AI .

    USEFULL link: https://youtube.com/playlist?list=PLJoEt7pdSz_2g8-S0okMJkh0apGRcRu29&si=8vMFnmIxOYYd6Ro1

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search