forked from dotnet-architecture/eShopOnWeb
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
49 changed files
with
518 additions
and
460 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,74 +1,43 @@ | ||
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: | ||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.112.0/containers/dotnetcore-3.1 | ||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the | ||
// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet | ||
{ | ||
"name": "eShopOnWeb", | ||
"build": { | ||
"dockerfile": "Dockerfile", | ||
"args": { | ||
"USERNAME": "vscode", | ||
"INSTALL_NODE": "false", | ||
"NODE_VERSION": "lts/*", | ||
"INSTALL_AZURE_CLI": "false" | ||
} | ||
}, | ||
"features": { | ||
"ghcr.io/devcontainers/features/azure-cli:1": { | ||
"version": "2.38" | ||
}, | ||
"ghcr.io/devcontainers/features/docker-from-docker:1": { | ||
"version": "20.10" | ||
}, | ||
"ghcr.io/devcontainers/features/github-cli:1": { | ||
"version": "2" | ||
} | ||
}, | ||
// Comment out to connect as root user. See https://aka.ms/vscode-remote/containers/non-root. | ||
// make sure this is the same as USERNAME above | ||
"remoteUser": "vscode", | ||
"runArgs": [ | ||
"-v", | ||
"/var/run/docker.sock:/var/run/docker.sock" | ||
], | ||
// Set *default* container specific settings.json values on container create. | ||
"settings": { | ||
"terminal.integrated.profiles.linux": { | ||
"bash": { | ||
"path": "bash", | ||
"icon": "terminal-bash" | ||
} | ||
} | ||
}, | ||
|
||
// Add the IDs of extensions you want installed when the container is created. | ||
"extensions": [ | ||
"ms-dotnettools.csharp", | ||
"formulahendry.dotnet-test-explorer", | ||
"ms-vscode.vscode-node-azure-pack", | ||
"ms-kubernetes-tools.vscode-kubernetes-tools", | ||
"redhat.vscode-yaml" | ||
], | ||
"name": "eShopOnWeb", | ||
"image": "mcr.microsoft.com/devcontainers/dotnet:0-7.0", | ||
|
||
"customizations": { | ||
// Configure properties specific to VS Code. | ||
"vscode": { | ||
// Add the IDs of extensions you want installed when the container is created. | ||
"extensions": [ | ||
"ms-dotnettools.csharp", | ||
"formulahendry.dotnet-test-explorer", | ||
"ms-vscode.vscode-node-azure-pack", | ||
"ms-kubernetes-tools.vscode-kubernetes-tools", | ||
"redhat.vscode-yaml" | ||
] | ||
} | ||
}, | ||
|
||
// Use 'forwardPorts' to make a list of ports inside the container available locally. | ||
"forwardPorts": [5000, 5001], | ||
// Use 'forwardPorts' to make a list of ports inside the container available locally. | ||
"forwardPorts": [5000, 5001], | ||
|
||
// [Optional] To reuse of your local HTTPS dev cert, first export it locally using this command: | ||
// * Windows PowerShell: | ||
// dotnet dev-certs https --trust; dotnet dev-certs https -ep "$env:USERPROFILE/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere" | ||
// * macOS/Linux terminal: | ||
// dotnet dev-certs https --trust; dotnet dev-certs https -ep "${HOME}/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere" | ||
// | ||
// Next, after running the command above, uncomment lines in the 'mounts' and 'remoteEnv' lines below, | ||
// and open / rebuild the container so the settings take effect. | ||
// | ||
"mounts": [ | ||
// "source=${env:HOME}${env:USERPROFILE}/.aspnet/https,target=/home/vscode/.aspnet/https,type=bind" | ||
], | ||
"remoteEnv": { | ||
// "ASPNETCORE_Kestrel__Certificates__Default__Password": "SecurePwdGoesHere", | ||
// "ASPNETCORE_Kestrel__Certificates__Default__Path": "/home/vscode/.aspnet/https/aspnetapp.pfx", | ||
} | ||
// Use 'postCreateCommand' to run commands after the container is created. | ||
"postCreateCommand": "dotnet dev-certs https --trust" | ||
|
||
// Use 'postCreateCommand' to run commands after the container is created. | ||
// "postCreateCommand": "dotnet restore" | ||
// [Optional] To reuse of your local HTTPS dev cert, first export it locally using this command: | ||
// * Windows PowerShell: | ||
// dotnet dev-certs https --trust; dotnet dev-certs https -ep "$env:USERPROFILE/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere" | ||
// * macOS/Linux terminal: | ||
// dotnet dev-certs https --trust; dotnet dev-certs https -ep "${HOME}/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere" | ||
// | ||
// Next, after running the command above, uncomment lines in the 'mounts' and 'remoteEnv' lines below, | ||
// and open / rebuild the container so the settings take effect. | ||
// | ||
// "mounts": [ | ||
// // "source=${env:HOME}${env:USERPROFILE}/.aspnet/https,target=/home/vscode/.aspnet/https,type=bind" | ||
// ], | ||
// "remoteEnv": { | ||
// // "ASPNETCORE_Kestrel__Certificates__Default__Password": "SecurePwdGoesHere", | ||
// // "ASPNETCORE_Kestrel__Certificates__Default__Path": "/home/vscode/.aspnet/https/aspnetapp.pfx", | ||
// }, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Dev container | ||
|
||
This project includes a [dev container](https://containers.dev/), which lets you use a container as a full-featured dev environment. | ||
|
||
You can use the dev container configuration in this folder to build and run the app without needing to install any of its tools locally! You can use it in [GitHub Codespaces](https://github.com/features/codespaces) or the [VS Code Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). | ||
|
||
## GitHub Codespaces | ||
Follow these steps to open this sample in a Codespace: | ||
1. Click the **Code** drop-down menu at the top of https://github.com/dotnet-architecture/eShopOnWeb. | ||
1. Click on the **Codespaces** tab. | ||
1. Click **Create codespace on main** . | ||
|
||
For more info, check out the [GitHub documentation](https://docs.github.com/en/free-pro-team@latest/github/developing-online-with-codespaces/creating-a-codespace#creating-a-codespace). | ||
|
||
## VS Code Dev Containers | ||
|
||
If you already have VS Code and Docker installed, you can click [here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/dotnet-architecture/eShopOnWeb) to get started. This will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use. | ||
|
||
You can also follow these steps to open this sample in a container using the VS Code Dev Containers extension: | ||
|
||
1. If this is your first time using a development container, please ensure your system meets the pre-reqs (i.e. have Docker installed) in the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started). | ||
|
||
2. Open a locally cloned copy of the code: | ||
|
||
- Clone this repository to your local filesystem. | ||
- Press <kbd>F1</kbd> and select the **Dev Containers: Open Folder in Container...** command. | ||
- Select the cloned copy of this folder, wait for the container to start, and try things out! | ||
|
||
You can learn more in the [Dev Containers documentation](https://code.visualstudio.com/docs/devcontainers/containers). | ||
|
||
## Tips and tricks | ||
|
||
* Since the dev container is Linux-based, you won't be able to use LocalDB. Add ` "UseOnlyInMemoryDatabase": true,` to the [appsettings.json](../src/Web/appsettings.json) file (there's additional context on this [in the app's readme](../README.md#configuring-the-sample-to-use-sql-server)). | ||
* If you get a `502 bad gateway` error, you may need to set your port to the https protocol. You can do this by opening the Ports view in VS Code (**Ports: Focus on Ports View**), right-clicking on the port you're using, select **Change Port Protocol**, and set **https**. | ||
* If you are working with the same repository folder in a container and Windows, you'll want consistent line endings (otherwise you may see hundreds of changes in the SCM view). The `.gitattributes` file in the root of this repo disables line ending conversion and should prevent this. See [tips and tricks](https://code.visualstudio.com/docs/devcontainers/tips-and-tricks#_resolving-git-line-ending-issues-in-containers-resulting-in-many-modified-files) for more info. | ||
* If you'd like to review the contents of the image used in this dev container, you can check it out in the [devcontainers/images](https://github.com/devcontainers/images/tree/main/src/dotnet) repo. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
* text=auto eol=lf | ||
*.{cmd,[cC][mM][dD]} text eol=crlf | ||
*.{bat,[bB][aA][tT]} text eol=crlf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.