diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 000000000..6aadb3186 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,34 @@ +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- + +FROM mcr.microsoft.com/dotnet/core/sdk:2.1.802 + +# Avoid warnings by switching to noninteractive +ENV DEBIAN_FRONTEND=noninteractive + +# Configure apt and install packages +RUN apt-get update && apt-get -y install --no-install-recommends apt-utils 2>&1 \ + # Verify git, process tools, lsb-release (common in install instructions for CLIs) installed + && apt-get -y install git procps lsb-release \ + # Install PowerShell + && apt-get install curl gnupg apt-transport-https -y \ + && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ + && echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/microsoft.list \ + && apt-get update \ + && apt-get install -y powershell \ + # Clean up + && apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* + +# Switch back to dialog for any ad-hoc use of apt-get +ENV DEBIAN_FRONTEND=dialog + +SHELL ["/usr/bin/pwsh", "-Command"] + +# Install PowerShell modules required for building and testing +RUN Install-Module InvokeBuild -Force +RUN Install-Module platyPS -Force +RUN Install-Module Pester -Force diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..fb3a9dd0f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,14 @@ +// See https://aka.ms/vscode-remote/devcontainer.json for format details. +{ + "name": "C# (.NET Core 2.1) and PowerShell on Debian 9", + "dockerFile": "Dockerfile", + + "postCreateCommand": "dotnet restore", + + "extensions": [ + "ms-vscode.csharp", + "ms-vscode.powershell-preview", + "davidanson.vscode-markdownlint", + "editorconfig.editorconfig" + ] +}