Как я должен развернуть свое приложение полного стека. 2 разных git-репозитория или 2 разных сервиса приложений azure

Так что я отвечаю за фронтенд с angular этого веб-приложения, в то время как кто-то другой делает бэкенд с django. Я пытаюсь внедрить CI/CD и развернуть это приложение в azure с помощью действий на github, но я не знаю, как сделать это эффективно.

Я создал репо на github и инициализировал папки frontend и backends по отдельности и поместил код в ветку dev в моем репо на git, затем создал учетную запись azure и создал resources-gp, а также 1 службу приложений azure и подключил мое репо на github к нему и выбрал python в качестве рабочего процесса, и оно было подключено, но в моем репо на github я вижу эту ошибку: Github error Github та же ошибка

Здесь фронтенд и бэкенд находятся в одном репо, но при создании рабочего процесса я указал только python, я предполагаю, что это только для бэкенда, но даже несмотря на это я все равно вижу эти ошибки выше.

Может ли кто-нибудь мне помочь?

Для создания и развертывания приложения Angular + Django выполните следующие шаги:

Добавьте в yml-файл следующие настройки и сборку фронтенда с использованием Node.js и Angular:

- name: Set up Node.js
  uses: actions/setup-node@v3
  with:
    node-version: '20.x'

- name: Install and build Angular frontend
  working-directory: angular-17-crud-example-master
  run: |
    npm install
    npm run build --prod
    mv dist/* ../post-back-do-front-backend-master/static/

Я ссылался на эти ссылки для интеграции frontend и backend с помощью Angular и Django.

После создания приложения Angular статические файлы перемещаются в папку static бэкенда Django:

mv dist/* ../post-back-do-front-backend-master/static/

Затем добавьте миграции баз данных Django :

- name: Run Django migrations
  working-directory: post-back-do-front-backend-master
  run: |
    source venv/bin/activate
    python manage.py makemigrations
    python manage.py migrate

Объедините Frontend и Backend в zip-файл:

- name: Prepare deployment package
  run: |
    zip -r release.zip post-back-do-front-backend-master

Измените конфигурацию артефакта развертывания следующим образом :

name: Upload artifact uses: actions/upload-artifact@v3 with: name: fullstack-app path: release.zip

Ниже приведен мой пример YAML-файла GitHub Actions для создания и развертывания Angular frontend с Django backend в Azure Web App:

name: Build and deploy Angular and Django app to Azure Web App

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '20.x'
      - name: Install and build Angular frontend
        working-directory: angular-17-crud-example-master
        run: |
          npm install
          npm run build --prod
          mv dist/* ../post-back-do-front-backend-master/static/
      - name: Set up Python environment
        uses: actions/setup-python@v4
        with:
          python-version: '3.9'

      - name: Install backend dependencies
        working-directory: post-back-do-front-backend-master
        run: |
          python -m venv venv
          source venv/bin/activate
          pip install -r requirements.txt

      - name: Run Django migrations
        working-directory: post-back-do-front-backend-master
        run: |
          source venv/bin/activate
          python manage.py makemigrations
          python manage.py migrate
      - name: Prepare deployment package
        run: |
          zip -r release.zip post-back-do-front-backend-master

      - name: Upload artifact
        uses: actions/upload-artifact@v3
        with:
          name: fullstack-app
          path: release.zip

  deploy:
    runs-on: ubuntu-latest
    needs: build
    environment:
      name: 'Production'
    steps:
      - name: Download artifact
        uses: actions/download-artifact@v3
        with:
          name: fullstack-app
      - name: Unzip artifact
        run: unzip release.zip
      - name: Login to Azure
        uses: azure/login@v1
        with:
          creds: ${{ secrets.AZURE_CREDENTIALS }}
      - name: Deploy to Azure Web App
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: 'tejatyuu78888trrr'
          slot-name: 'Production'
          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE }}
          package: post-back-do-front-backend-master

Вывод:

Azure web app out put

azure webapp Output

Вернуться на верх