Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix a few issues with the Dockerfile #172

Merged
merged 1 commit into from
Feb 22, 2023
Merged

Fix a few issues with the Dockerfile #172

merged 1 commit into from
Feb 22, 2023

Conversation

ivarne
Copy link
Member

@ivarne ivarne commented Feb 19, 2023

I'm opening this mainly because I want to give a heads up on these issues. I'm not in a hurry to have this merged, but it seems wasteful to not share the painful experience of figuring out this.

I tried to work on some sort of automated testing and ran into a really strange issue with dotnet in docker. The docker container did not work with --env DOTNET_ENVIRONMENT=Development. After lots of guesswork I found that deleting the wwwroot folder fixed the issue. It turns out that when you do a separate build step it generates App.staticwebassets.runtime.json with full absolute path to the wwwroot folder, and it gets included in the publish result. In the build step the path is /App/wwwroot, but in final the name was /app/wwwroot.

This fixes 3 issues

  • A separate restore step makes for faster iteration when building repeatedly locally without downloading dependencies.
  • Consistent folder name app vs App in build container vs final container
  • A separate dotnet build step doesn't really make much sense, and the resulting App.staticwebassets.runtime.json is apparently just causing issues.

I tried to work on some sort of automated testing and ran into a really strange issue with dotnet in docker. The docker container did not work with `--env DOTNET_ENVIRONMENT=Development`. After lots of guesswork I found that deleting the `wwwroot` folder fixed the issue. It turns out that when you do a separate `build` step it generates `App.staticwebassets.runtime.json` with full absolute path to the `wwwroot` folder, and it gets included in the `publish` result. In the `build` step the path is `/App/wwwroot`, but in final the name was `/app/wwwroot`.

This fixes 3 issues
* A separate `restore` step makes for faster iteration when building repeatedly locally.
* Consistent folder name `app` vs `App` in build container vs final container
* A separate `dotnet build` step doesn't really make much sense, and the resulting `App.staticwebassets.runtime.json` is apparently just causing issues.
@tjololo tjololo added the external-contribution-❤️ Pull request from a developer outside the Altinn teams. label Feb 21, 2023
@tjololo tjololo self-assigned this Feb 21, 2023
Copy link
Member

@tjololo tjololo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Nice improvement using cached layers when dependencies does not change :)

@tjololo tjololo added the bugfix label Feb 22, 2023
@tjololo tjololo merged commit 40e9e3c into Altinn:main Feb 22, 2023
@ivarne ivarne deleted the patch-3 branch February 22, 2023 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugfix external-contribution-❤️ Pull request from a developer outside the Altinn teams.
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants