Virtual Happy Hour this month, Jun 28, we'll be getting a sneak preview at our soon to launch SaaS CMS!

Try our conversational search powered by Generative AI!

Unable to deploy to DXP with specified runtime

Vote:
 

To speed up my build and release I've been specifying my runtime during build (dotnet publish MyProject.csproj --runtime linux-x64) which worked great before the summer but when I got back from vacation it's suddently always failing.

The error is the following:
Prepare Container Deployment for package 'MyCustomer.cms.app.<version>.nupkg' in ACR '<my dxp id>'. Retry attempts left: 0. The error was: Failed to determine any entrypoint in the code package. (Prepare Container Deployment for package 'MyCustomer.cms.app.<version>.nupkg' in ACR '<my dxp id>'. Retry attempts left: 0. The error was: Failed to determine any entrypoint in the code package.)

This problem isn't present if I avoid specifiying runtime when publishing.

I've read here that you could add a dxpPlatformSettings.json to the root of your package to specify entry point but it didn't really show any examples of how to do it. I tried though and my file looks like this:

{
  "$schema": "https://schema.episerver.net/paasportal/2022-03-24/platformschema.json",  
  "entrypoint": "<MyProject>.dll"
}

The deployment seem to understand this json because before it looked like this, I wrote it abit different and then it was complaining that it didn't recognize the schema (which it isn't doing anymore) but obviously this json isn't helping me with my problem because I'm still getting the same error about not being able to determine entrypoint

#306435
Aug 08, 2023 11:17
Vote:
 

Hi Andreas

Could it be that your whole publish folder gets indented in a "linux-x64" folder, which is not recognized by the DXP platform? In that case, you could try moving the whole output one level out before deploying.

#306442
Aug 08, 2023 15:57
Vote:
 

Hi Stefan.

No there is no linux-x64 folder in my package. I outputted the content of the folder before i packaged it and this is what it looks like (with exception that I've shrunk it abit to viewing perposes and that I don't want to write everything in this folder for security purposes)

nugetbuild
    └── wwwroot
        ├── <All dlls>.dll
        ├── Connected Services
        │   └── Application Insights
        │       └── ConnectedService.json
        ├── appsettings.Integration.json
        ├── appsettings.Preproduction.json
        ├── appsettings.Production.json
        ├── appsettings.json
        ├── createdump
        ├── cs
        │   └── <Language dlls>.dll
        ├── de
        │   └── <Language dlls>.dll
        ├── es
        │   └── <Language dlls>.dll
        ├── fr
        │   └── <Language dlls>.dll
        ├── it
        │   └── <Language dlls>.dll
        ├── ja
        │   └── <Language dlls>.dll
        ├── ko
        │   └── <Language dlls>.dll
        ├── pl
        │   └── <Language dlls>.dll
        ├── pt-BR
        │   └── <Language dlls>.dll
        ├── ru
        │   └── <Language dlls>.dll
        ├── tr
        │   └── <Language dlls>.dll
        ├── zh-Hans
        │   └── <Language dlls>.dll
        ├── zh-Hant
        │   └── <Language dlls>.dll
        ├── <SO files>.so
        ├── module.config
        ├── modules
        │   └── _protected
        │       ├── <All modules>
        │       │   └── <All modules package>.zip
        │       └── repository.config
        ├── wwwroot
        │   ├── ClientResources
        │   │   ├── Css
        │   │   │   ├── <ClientResouces styles>.css
        │   │   ├── Icons
        │   │   │   ├── blocks
        │   │   │   │   └── <images>.svg
        │   │   │   └── pages
        │   │   │       └── <images>.png
        │   │   └── Scripts
        │   │       └── <ClientResouces Scripts>
        │   │           └── <script>.js
        │   ├── Scripts
        │   │   └── <scripts>.js
        │   └── Version.txt
        └── wwwroot\Static\
            ├── assets
            │   ├── icons
            │   │   ├── <icons>.svg
            │   └── images
            │       └── <images>.png.png
            ├── fonts
            │   └── <Font>
            │       └── <version>
            │           ├── <font>.woff
            │           └── <font>.woff2
            ├── scripts
            │   └── <scripts>.js
            └── styles
                └── <styles>.css
#306818
Aug 15, 2023 14:01
Vote:
 

Hi Andreas, I'm pretty sure you shouldn't have top most wwwroot folder - so you need to put contents of that folder in the package.

#306819
Aug 15, 2023 14:14
Andreas Ljungström - Aug 16, 2023 13:38
I've tried both with and without a wwwroot top folder but the error is the same nonetheless.
I also found it strange that the package should have a wwwroot topfolder but that is what the DXP documentation says if you download their example package:

See here: https://docs.developers.optimizely.com/digital-experience-platform/docs/code-package-format
The actual example package: https://world.optimizely.com/globalassets/documentation/alloy-linux.cms.app.20230221.nupkg
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.