From af4ab11cc3be52bab03997fe45fc974c844a1e0d Mon Sep 17 00:00:00 2001 From: DoodleyJC Date: Sun, 31 Mar 2024 00:23:22 +0100 Subject: [PATCH] hoping this copy paste --- .github/workflows/main_backendbluenps.yml | 105 ++++++++++------------ 1 file changed, 48 insertions(+), 57 deletions(-) diff --git a/.github/workflows/main_backendbluenps.yml b/.github/workflows/main_backendbluenps.yml index db61cac..57e34b6 100644 --- a/.github/workflows/main_backendbluenps.yml +++ b/.github/workflows/main_backendbluenps.yml @@ -1,81 +1,72 @@ -# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy -# More GitHub Actions for Azure: https://github.com/Azure/actions -# More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions +# For more info on Python, GitHub Actions, and Azure App Service +# please head to https://aka.ms/python-webapps-actions -name: Build and deploy Python app to Azure Web App - BackendBlueNPS +name: Build and deploy Django app to Azure App Service on: push: - branches: - - main - workflow_dispatch: + branches: + - master + +env: + WEBAPP_NAME: 'my-python-app' # Replace with the name of your Azure web app jobs: - build: + build-and-test: runs-on: ubuntu-latest - + steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 - - name: Set up Python version - uses: actions/setup-python@v1 - with: - python-version: '3.12' + - name: Setup Python version + uses: actions/setup-python@v2 + with: + python-version: 3.8 - - name: Create and start virtual environment - working-directory: ./bluenpsbackend - run: | - python -m venv venv - source venv/bin/activate + - name: Create and start virtual environment + run: | + python3 -m venv venv + source venv/bin/activate - # I added this and I hope its good - - name: Collect static - run: python manage.py collectstatic - + - name: Install dependencies + run: pip install -r requirements.txt - # Optional: Add step to run tests here (PyTest, Django test suites, etc.) + - name: Collect static + run: python manage.py collectstatic - - name: Zip artifact for deployment - run: zip release.zip ./* -r - - - name: Upload artifact for deployment jobs - uses: actions/upload-artifact@v3 - with: - name: python-app - path: | - release.zip - !venv/ - - deploy: + - name: Run tests + run: python manage.py test + + - name: Upload artifact for deployment jobs + uses: actions/upload-artifact@v2 + with: + name: python-app + path: | + . + !venv/ + + deploy-to-webapp: + needs: build-and-test 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@v3 + - uses: actions/download-artifact@v2 with: name: python-app - - - name: Unzip artifact for deployment - run: unzip release.zip - + path: . - - name: Login to Azure + - name: Log in to Azure CLI uses: azure/login@v1 with: - client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_5D5BE84F72B6418DA3021095978ABD20 }} - tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_B3EE49EEC1084718B0A446AAACDE3BE8 }} - subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_0FD85ED14F714A3091FF152944D5BD8A }} + creds: ${{ secrets.AZURE_SERVICE_PRINCIPAL }} + + - name: Disable static collection and set migration command on App Service + uses: Azure/appservice-settings@v1 + with: + app-name: ${{ env.WEBAPP_NAME }} + app-settings-json: '[{ "name": "DISABLE_COLLECTSTATIC", "value": "true" }, { "name": "POST_BUILD_COMMAND", "value": "python manage.py makemigrations && python manage.py migrate" }, { "name": "SCM_DO_BUILD_DURING_DEPLOYMENT", "value": "true" }, { "name": "DJANGO_ENV", "value": "production"}]' - - name: 'Deploy to Azure Web App' + - name: Deploy to App Service uses: azure/webapps-deploy@v2 - id: deploy-to-webapp with: - app-name: 'BackendBlueNPS' - slot-name: 'Production' - \ No newline at end of file + app-name: ${{ env.WEBAPP_NAME}} \ No newline at end of file