Изменить переменные в настройках приложения при развертывании с помощью действий GitHub - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь развернуть приложение с действиями github. Я связал свою учетную запись azure с моим хранилищем github, и были созданы следующие действия:

name: Build and deploy ASP.Net Core app to Azure Web App - my_app_name

on:
  push:
    branches:
      - master

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@master

    - name: Set up .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: '3.1.102'

    - name: Build with dotnet
      run: dotnet build --configuration Release

    - name: dotnet publish
      run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp

    - name: Deploy to Azure Web App
      uses: azure/webapps-deploy@v1
      with:
        app-name: 'my_app_name'
        slot-name: 'production'
        publish-profile: ${{ secrets.AzureAppService_PublishProfile_xxxxxx }}
        package: ${{env.DOTNET_ROOT}}/myapp 

У меня есть некоторые переменные в файле appsettings. json, которые я хочу перезаписать, но я не перезаписываю не могу найти, как это сделать.

1 Ответ

0 голосов
/ 29 марта 2020

Вы можете добавить следующее действие перед развертыванием артефактов в azure.

Можно указать несколько файлов, и это поддерживается также с подстановочными записями.

Ключ переменной среды должен указывается с разделенной точкой точкой.

#substitute production appsettings entries to appsettings json file
- name: App Settings Variable Substitution
  uses: microsoft/variable-substitution@v1
  with:
    files: '${{env.DOTNET_ROOT}}/myapp/appsettings.json'
  env:
    ConnectionStrings.Default: ${{ secrets.some_connection_string }}
    App.ServerRootAddress: ${{ env.SERVER_ROOT_ADDRESS }}

Вышеуказанное действие можно использовать для xml и изменения файла yaml.

...