in src/publishers/zipDeploy.ts [64:97]
private static async patchTemporaryAppSettings(
context: IActionContext,
enableOryxBuild: EnableOryxBuildConstant,
scmDoBuildDuringDeployment: ScmBuildConstant
) {
try {
if (context.os === RuntimeStackConstant.Windows &&
context.authenticationType === AuthenticationType.Rbac &&
!Parser.IsTrueLike(context.appSettings.WEBSITE_RUN_FROM_PACKAGE)) {
Logger.Info('Setting WEBSITE_RUN_FROM_PACKAGE to 1');
await this._updateApplicationSettings(context, { 'WEBSITE_RUN_FROM_PACKAGE': '1' });
await this.checkAppSettingPropagatedToKudu(context, 'WEBSITE_RUN_FROM_PACKAGE', '1');
}
if (context.authenticationType === AuthenticationType.Scm &&
scmDoBuildDuringDeployment !== ScmBuildConstant.NotSet) {
const scmValue = ScmBuildUtil.ToString(scmDoBuildDuringDeployment);
Logger.Info(`Setting SCM_DO_BUILD_DURING_DEPLOYMENT in Kudu container to ${scmValue}`);
await this._updateApplicationSettings(context, { 'SCM_DO_BUILD_DURING_DEPLOYMENT': scmValue });
await this.checkAppSettingPropagatedToKudu(context, 'SCM_DO_BUILD_DURING_DEPLOYMENT', scmValue);
}
if (context.authenticationType === AuthenticationType.Scm &&
enableOryxBuild !== EnableOryxBuildConstant.NotSet) {
const oryxValue = EnableOryxBuildUtil.ToString(enableOryxBuild);
Logger.Info(`Setting ENABLE_ORYX_BUILD in Kudu container to ${oryxValue}`);
await this._updateApplicationSettings(context, { 'ENABLE_ORYX_BUILD': oryxValue });
await this.checkAppSettingPropagatedToKudu(context, 'ENABLE_ORYX_BUILD', oryxValue);
}
} catch (expt) {
Logger.Warn(`Patch Temporary Application Settings: Failed to change app settings. ${expt}`);
}
}