Skip to content

Commit 7c635e9

Browse files
authored
Pack ImageBuilder as dotnet tool (#2007)
This is related to #2006. Since ImageBuilder is only used natively on Windows (and not ran from inside a container image), I would like to explore distributing ImageBuilder as a tool instead of a container image for that platform. The central hypothesis here is that we could potentially remove the Windows build leg of ImageBuilder entirely, speeding up build and iteration time. This PR only adds a new acquisition channel for ImageBuilder. It does not remove Windows container images or anything like that.
1 parent a68feda commit 7c635e9

6 files changed

Lines changed: 13 additions & 3 deletions

File tree

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<PropertyGroup>
66
<!-- Follow https://semver.org/spec/v2.0.0.html -->
77
<MajorVersion>0</MajorVersion>
8-
<MinorVersion>2</MinorVersion>
8+
<MinorVersion>3</MinorVersion>
99
<PatchVersion>0</PatchVersion>
1010
<VersionPrefix>$(MajorVersion).$(MinorVersion).$(PatchVersion)</VersionPrefix>
1111
<PreReleaseVersionLabel>beta</PreReleaseVersionLabel>

eng/pipelines/docker-tools-packages-official.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ trigger:
1717
include:
1818
- eng/common/*
1919
- eng/pipelines/*
20+
- src/ImageBuilder/*
2021
- src/ImageBuilder.Models/*
2122
- Directory.Build.props
2223
- Directory.Build.targets

eng/pipelines/docker-tools-packages-pr.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pr:
1616
include:
1717
- eng/common/*
1818
- eng/pipelines/*
19+
- src/ImageBuilder/*
1920
- src/ImageBuilder.Models/*
2021
- Directory.Build.props
2122
- Directory.Build.targets

src/Dockerfile.linux

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,4 @@ COPY ["notation-trust/policies/", "/notation-trust/policies/"]
5050
WORKDIR /image-builder
5151
COPY --from=build-env /image-builder/out ./
5252

53-
ENTRYPOINT ["/image-builder/Microsoft.DotNet.ImageBuilder"]
53+
ENTRYPOINT ["/image-builder/imagebuilder"]

src/Dockerfile.windows

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ FROM mcr.microsoft.com/windows/$WINDOWS_BASE
2626
WORKDIR /image-builder
2727
COPY --from=build-env /image-builder/out ./
2828

29-
ENTRYPOINT ["/image-builder/Microsoft.DotNet.ImageBuilder"]
29+
ENTRYPOINT ["/image-builder/imagebuilder"]

src/ImageBuilder/Microsoft.DotNet.ImageBuilder.csproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@
1212
<Nullable>enable</Nullable>
1313
</PropertyGroup>
1414

15+
<PropertyGroup Label="Tool Packaging">
16+
<IsPackable>true</IsPackable>
17+
<PackAsTool>true</PackAsTool>
18+
<ToolCommandName>imagebuilder</ToolCommandName>
19+
<PackageId>Microsoft.DotNet.ImageBuilder</PackageId>
20+
<Description>CLI tool that orchestrates Docker image builds.</Description>
21+
</PropertyGroup>
22+
1523
<PropertyGroup>
1624
<!-- The "Cottle" templating package does not have a strong name. -->
1725
<SignAssembly>false</SignAssembly>

0 commit comments

Comments
 (0)