An Azure service that provides hosted, universal storage for Azure app configurations.
Thank you for reaching out to Microsoft Q&A.
The most likely cause is not the PremiumV3/P0v3 SKU upgrade itself, but rather that after the restart/redeployment, the App Service runtime was unable to locate startup.sh in the actual deployed content mounted under the application root. The error:
Site's appCommandLine: sh startup.sh2sh: 0: cannot open startup.sh: No such file
indicates that the startup command is being executed successfully, but the file cannot be found in the runtime filesystem. Microsoft documentation states that for Linux Python applications, startup commands and startup files must be resolved relative to the deployed project root, and a successful deployment does not necessarily guarantee that the startup file is present within the runtime package.
Additionally, your configuration shows:
WEBSITE_RUN_FROM_PACKAGE = 12
SCM_DO_BUILD_DURING_DEPLOYMENT = 0
Runtime = PYTHON|3.11
For Python applications, Microsoft documents that Run From Package is not supported in the same way as other runtimes unless build automation is enabled, because App Service needs to create the Python environment and install dependencies during deployment. If the ZIP package being deployed does not contain startup.sh at the package root, or if the package structure changed, the mounted runtime content may not match the repository layout and the startup script will not be available at startup.
Refer below points to troubleshoot the issue:
Verify the deployed package contents by connecting to the App Service via SSH/Kudu and confirming whether startup.sh exists under:
/home/site/wwwroot
If the file is missing there, the deployment artifact does not contain it even though it exists in the repository.
Confirm the ZIP artifact structure. When using ZIP deployment or Run From Package, the ZIP must contain application files directly at the root level and not inside an additional parent folder.
Review the Azure DevOps build artifact and verify that startup.sh is included in the published package.
Check whether the startup command should reference a relative subfolder path instead of:
sh startup.sh
if the script is being packaged into a different directory.
If this is a Python application, consider enabling:
SCM_DO_BUILD_DURING_DEPLOYMENT = 1
and redeploying so App Service/Oryx can build the Python environment correctly. Microsoft documentation specifically recommends build automation for Python ZIP deployments.
Compare the value of
WEBSITE_RUN_FROM_PACKAGE
before and after the SKU upgrade. The upgrade itself does not change startup command behavior, but the restart can expose an underlying packaging issue that was previously unnoticed.
In summary: the PremiumV3 upgrade is unlikely to have changed how startup commands are executed. The evidence points to a deployment/package layout issue where startup.sh is not present in the mounted runtime content (/home/site/wwwroot) or is not located at the path expected by the startup command. The first validation step is to SSH into the App Service and verify whether startup.sh actually exists in the deployed runtime filesystem