Использование webapps-развертывание для развертывания в определенную папку (не только в wwwroot)

#azure-web-app-service #github-actions #azure-webapps

#azure-web-app-service #github-действия #azure-webapps

Вопрос:

Можно ли использовать действие webapps-deploy для развертывания по определенному пути веб-приложения (а не только в wwroot )? Например, развертывание в виртуальном каталоге IIS под wwwroot/app .

Текущая конфигурация действия yaml GitHub, не удается найти здесь свойство для задания запрошенного пути на веб-сервере.

 - name: "Run Azure webapp deploy action using publish profile credentials"
    uses: azure/webapps-deploy@v2
    with:
      app-name: MyApp 
      publish-profile: ${{ secrets.SECRET_PROFILE  }}
      package: build
 

Изображение, показывающее виртуальное приложение ( wwwroot/app ), которое я хотел бы развернуть в

введите описание изображения здесь

Ответ №1:

После многократного тестирования я обнаружил, что это невозможно с помощью Git Action. Но вы можете рассмотреть возможность использования Visual Studio, импортируя профиль публикации.

Сначала задайте виртуальный путь в portal. введите описание изображения здесь
Загружает профиль публикации.Вы будете использовать содержимое профиля публикации.

Измените профиль.Измените msdeploySite значение с Your-Site на Your-Sitefoldersubfolder , например, msdeploySite=»dorissub app». Измените destinationAppUrl значение с http://xxx.azurewebsites.net на http://xxx.azurewebsites.net/app

Опубликовать из VS.
введите описание изображения здесь

Проверьте подпапку.это работает.

введите описание изображения здесь


Вот как я это делаю с помощью Git Action.

Добавьте секрет.Перейдите в настройки репозитория GitHub и добавьте секрет с содержимым профиля публикации в качестве значения, назовите его как AZURE_WEBAPP_PUBLISH_PROFILE .

Запустите рабочий процесс с этим файлом yaml:

 name: .NET Core dorisxxx

on: [push]

env:
  AZURE_WEBAPP_NAME: dorisxxx    # set this to your application's name
  AZURE_WEBAPP_PACKAGE_PATH: '.'      # set this to the path to your web app project, defaults to the repository root
  DOTNET_VERSION: '3.1.x'           # set this to the dot net version to use

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      # Checkout the repo
      - uses: actions/checkout@master
      
      # Setup .NET Core SDK
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: ${{ env.DOTNET_VERSION }} 
      
      # Run dotnet build and publish
      - name: dotnet build and publish
        run: |
          dotnet restore
          dotnet build --configuration Release
          dotnet publish -c Release -o '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/myapp' 
          
      # Deploy to Azure Web apps
      - name: 'Run Azure webapp deploy action using publish profile credentials'
        uses: azure/webapps-deploy@v2
        with: 
          app-name: ${{ env.AZURE_WEBAPP_NAME }} # Replace with your app name
          publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE  }} # Define secret variable in repository settings as per action documentation
          package: '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/myapp'
 

Но проект все еще опубликован в wwwroot…

Возможно, вам следует выбрать другой способ развертывания.