private static async patchTemporaryAppSettings()

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}`);
        }
    }