Change variables in appsettings when deploying with github actions

╄→尐↘猪︶ㄣ 提交于 2020-05-31 02:35:08

问题


I am trying to deploy an app with github actions. I linked my azure account to my github repository and the following actions has been created:

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 

I have some variables in my appsettings.json file that I want to overwrite, but I don't find how to do it.


回答1:


You may add the following action prior to deploying the artifacts to azure.

You can specify multiple files and it is supported with wildcard entries too.

The environment variable key must be specified with dot separated heirarchy.

#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 }}

The above action can be used for xml and yaml file changes too.



来源:https://stackoverflow.com/questions/60521929/change-variables-in-appsettings-when-deploying-with-github-actions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!