Repository supporting gnosian/ci-env-dotnet
Docker repository. Defines a continuous integration environment, based on .NET SDK images, with additional tools and SDKs.
- .NET SDK
Current
(STS
) version and all currently-supportedLTS
versions.- Currently:
9.0.101
(STS
);8.0.404
(LTS
);6.0.428
(LTS
)
- node.js
- Current
LTS
version. - Currently:
20.18.1
(includesnpm
10.8.2
)
- Current
bash
(Provided by base .NET image)- GNU bash, version
5.2.15(1)-release
(as of 2024/11/20)
- GNU bash, version
pwsh
(Provided by base .NET image)- PowerShell
7.5.0-preview.5
(as of 2024/11/20)
- PowerShell
sh
(Provided by base .NET image)
The following tools are installed with no explicit version requirement.
Name | CLI command | Description |
---|---|---|
AWS CDK CLI | cdk |
Enables creation and deployment of AWS infrastructure-as-code. |
AWS CLI | aws |
Enables interaction with AWS infrastructure. |
CICEE | cicee |
Provides a continuous integration shell function library. |
Coverlet | coverlet |
Enables .NET test coverage analysis. |
Docker CLI | docker |
Enables Docker support. |
Fantomas | fantomas |
Enables F# linting and formatting. |
jq | jq |
Enables parsing JSON. |
ReSharper Global Tools | jb |
Enables C# linting and other continuous integration tasks. |
TypeScript | Enables TypeScript language support in node.js. | |
zip | zip |
Enables compressing build artifacts. |
Docker CLI Note:
docker
CLI is provided by Debian'sdocker.io
(notdocker-ce-cli
).ARM64 Note: .NET global tools are not installed on ARM64 images, due to unresolved
dotnet tool install --global
errors. The following tools listed above are not available on ARM64:cicee
,coverlet
,fantomas
, andjb
. Projects using those tools in ARM64 environments must install them as .NET local tools, if possible.Git Note: This image includes
/code
in its global Git configurationsafe.directory
. (Required to enablecicee
continuous integration scripts to generate prerelease versions for your code when usingcicee lib exec
within acicee exec
environment, which mounts your project code to/code
.) This image does not initialize the/code
directory, so this should not be a security concern. However, if you wish to disable this Git safe directory registration when building an image based upon this image, add aRUN
layer to yourDockerfile
which sets thesafe.directory
as shown in Git documentation.