최근 일부 배포와 함께 Function Apps 및 Web Apps에 대한 앱 설정을 자동화하는 방법에 대해 내부적으로 약간의 혼란이 있었으며, 주변을 확인하면 거의 동일한 작업을 수행하는 것처럼 보이지만 다른 단계.
우리 개발자는 일반적으로 테스트를 위해 다음과 같은 repo에 커밋하는 appsettings.json 파일을 가지고 있습니다.
{
"Logging": {
"LogLevel": {
"Default": "Information",
}
},
"Values": {
"ThingToPointTo": "http://localhost",
}
}
다른 환경 (예 : PROD)으로 가져 가면 ThingToPointTo 를 "https : // productionservice"와 같은 것으로 변경합니다 .
우리는 Azure DevOps YAML 파이프 라인을 사용하여 이러한 방식으로 AppSettings를 배포하고 변경했습니다.
- task: AzureFunctionApp@1
inputs:
azureSubscription: 'OurAzureSubServiceConnection'
appType: functionApp
appName: $(azfuncappname)
package: '$(Pipeline.Workspace)/drop/$(Build.BuildId).zip'
AppSettings: '-Values:ThingToPointTo "https://productionservice"'
내 질문은 2 중
는 IS ThingToPointTo가 : 값 올바른 설정에 열거 대한 올바른, 또는 그냥해야 ThingToPointTo 합니다 (생략 값 : )?
이것이 그렇게하는 방법입니까? 배포하기 전에 실제 파일을 변경하는 데 사용할 수있는 JSON 변환 단계와 배포 후 사용할 수있는 "Azure App Service 설정"이라는 작업이 있습니다.
이 주제에 대한 기사가 너무 많지만 적합하지 않은 것 같습니다.
미리 감사드립니다!
저와 이러한 옵션에 대해 이야기 해준 @Kevin Lu-MSFT에게 감사드립니다.
중첩 된 값이있는 웹앱의 경우 ... 예 :
{
"Logging": {
"LogLevel": {
"Default": "Information",
}
},
"MySettings": {
"ThingToPointTo": "http://localhost",
}
}
... AZDO YAML 파이프 라인의 AppSettings는 실제로 ...
- task: AzureFunctionApp@1
inputs:
azureSubscription: 'OurAzureSubServiceConnection'
appType: functionApp
appName: $(azfuncappname)
package: '$(Pipeline.Workspace)/drop/$(Build.BuildId).zip'
AppSettings: '-MySettings:ThingToPointTo "https://productionservice"'
이것은 기능 앱에서 보이는 것과 다릅니다!
JSON에 "Values"가 있으면 Values : to enumerate !!!! ...를 사용하지 마십시오.
예를 들면 ...
{
"Values": {
"ThingToPointTo": "http://localhost",
}
}
... 결국 ...
AppSettings: '-ThingToPointTo "https://productionservice"'
Function Apps에는 이중 표준이있는 것 같습니다! 따라서주의하십시오 (이 중 대부분은 Azure에서 적용 가능한 .Net Core 및 Windows 설정을 사용하여 완료되었습니다).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다