Skip to content

Commit 533c8d2

Browse files
committed
add centos-7 debian-9 images
1 parent 1383bb1 commit 533c8d2

File tree

5 files changed

+120
-3
lines changed

5 files changed

+120
-3
lines changed

build.proj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
<!-- Docker related -->
6868
<DockerRoot>$(RepoRoot)/docker</DockerRoot>
6969
<DockerTools>$(RepoTools)/docker</DockerTools>
70+
<DockerImageName Condition="'$(DockerImageName)' == ''">azure-powershell</DockerImageName>
7071
</PropertyGroup>
7172

7273
<!-- Tasks -->
@@ -243,7 +244,7 @@
243244

244245
<Target Name="BuildImage">
245246
<Exec Command="$(PowerShellCoreCommandPrefix) &quot;. $(DockerTools)/GetArtifacts.ps1 -Artifacts $(RepoArtifacts) -Docker $(DockerRoot) &quot;" />
246-
<Exec Command="docker build -t azure-powershell $(DockerRoot)" />
247+
<Exec Command="$(PowerShellCoreCommandPrefix) &quot;. $(DockerTools)/BuildImages.ps1 -DOCKER $(DockerRoot) -IMAGENAME $(DockerImageName) &quot;" />
247248
<Exec Command="$(PowerShellCoreCommandPrefix) &quot;. $(DockerTools)/CleanArtifacts.ps1 -Docker $(DockerRoot) &quot;" />
248249
</Target>
249250

docker/Dockerfile-centos-7

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
FROM mcr.microsoft.com/powershell:centos-7
2+
3+
ARG ARTIFACTS=/tmp/artifacts/
4+
ARG ARTIFACT=*.nupkg
5+
ARG TEMPREPO=tmp
6+
ARG MODULE=Az
7+
ARG CONFIG=config
8+
ARG AZURERM_CONTEXT_SETTINGS=AzureRmContextSettings.json
9+
ARG AZURE=/root/.Azure
10+
ARG VCS_REF="none"
11+
ARG VERSION=
12+
ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-centos-7
13+
14+
LABEL maintainer="Azure PowerShell Team <[email protected]>" \
15+
readme.md="http://aka.ms/azpsdockerreadme" \
16+
description="This Dockerfile will install the latest release of Azure PowerShell." \
17+
org.label-schema.usage="http://aka.ms/azpsdocker" \
18+
org.label-schema.url="http://aka.ms/azpsdockerreadme" \
19+
org.label-schema.vcs-url="https://github.com/Azure/azure-powershell" \
20+
org.label-schema.name="azure powershell" \
21+
org.label-schema.vendor="Azure PowerShell" \
22+
org.label-schema.version=${VERSION} \
23+
org.label-schema.schema-version="1.0" \
24+
org.label-schema.vcs-ref=${VCS_REF} \
25+
org.label-schema.docker.cmd="docker run --rm ${IMAGE_NAME} pwsh -c '\$PSVERSIONTABLE'" \
26+
org.label-schema.docker.cmd.devel="docker run -it --rm -e 'DebugPreference=Continue' ${IMAGE_NAME} pwsh" \
27+
org.label-schema.docker.cmd.test="currently not available" \
28+
org.label-schema.docker.cmd.help="docker run --rm ${IMAGE_NAME} pwsh -c Get-Help"
29+
30+
# install azure-powershell from built artifacts
31+
COPY ${ARTIFACT} ${ARTIFACTS}
32+
RUN pwsh -Command Register-PSRepository -Name ${TEMPREPO} -SourceLocation ${ARTIFACTS} -PublishLocation $ARTIFACTS -InstallationPolicy Trusted -PackageManagementProvider NuGet && \
33+
pwsh -Command Install-Module -Name ${MODULE} -Repository ${TEMPREPO} && \
34+
pwsh -Command Get-Module -ListAvailable && \
35+
pwsh -Command Unregister-PSRepository -Name ${TEMPREPO} && \
36+
pwsh -Command Remove-Item ${ARTIFACTS} -Recurse
37+
38+
# create AzureRmContextSettings.json before it was generated
39+
COPY ${CONFIG}/${AZURERM_CONTEXT_SETTINGS} ${AZURE}/${AZURERM_CONTEXT_SETTINGS}
40+
41+
CMD [ "pwsh" ]

docker/Dockerfile-debian-9

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
FROM mcr.microsoft.com/powershell:debian-9
2+
3+
ARG ARTIFACTS=/tmp/artifacts/
4+
ARG ARTIFACT=*.nupkg
5+
ARG TEMPREPO=tmp
6+
ARG MODULE=Az
7+
ARG CONFIG=config
8+
ARG AZURERM_CONTEXT_SETTINGS=AzureRmContextSettings.json
9+
ARG AZURE=/root/.Azure
10+
ARG VCS_REF="none"
11+
ARG VERSION=
12+
ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-debian-9
13+
14+
LABEL maintainer="Azure PowerShell Team <[email protected]>" \
15+
readme.md="http://aka.ms/azpsdockerreadme" \
16+
description="This Dockerfile will install the latest release of Azure PowerShell." \
17+
org.label-schema.usage="http://aka.ms/azpsdocker" \
18+
org.label-schema.url="http://aka.ms/azpsdockerreadme" \
19+
org.label-schema.vcs-url="https://github.com/Azure/azure-powershell" \
20+
org.label-schema.name="azure powershell" \
21+
org.label-schema.vendor="Azure PowerShell" \
22+
org.label-schema.version=${VERSION} \
23+
org.label-schema.schema-version="1.0" \
24+
org.label-schema.vcs-ref=${VCS_REF} \
25+
org.label-schema.docker.cmd="docker run --rm ${IMAGE_NAME} pwsh -c '\$PSVERSIONTABLE'" \
26+
org.label-schema.docker.cmd.devel="docker run -it --rm -e 'DebugPreference=Continue' ${IMAGE_NAME} pwsh" \
27+
org.label-schema.docker.cmd.test="currently not available" \
28+
org.label-schema.docker.cmd.help="docker run --rm ${IMAGE_NAME} pwsh -c Get-Help"
29+
30+
# install azure-powershell from built artifacts
31+
COPY ${ARTIFACT} ${ARTIFACTS}
32+
RUN pwsh -Command Register-PSRepository -Name ${TEMPREPO} -SourceLocation ${ARTIFACTS} -PublishLocation $ARTIFACTS -InstallationPolicy Trusted -PackageManagementProvider NuGet && \
33+
pwsh -Command Install-Module -Name ${MODULE} -Repository ${TEMPREPO} && \
34+
pwsh -Command Get-Module -ListAvailable && \
35+
pwsh -Command Unregister-PSRepository -Name ${TEMPREPO} && \
36+
pwsh -Command Remove-Item ${ARTIFACTS} -Recurse
37+
38+
# create AzureRmContextSettings.json before it was generated
39+
COPY ${CONFIG}/${AZURERM_CONTEXT_SETTINGS} ${AZURE}/${AZURERM_CONTEXT_SETTINGS}
40+
41+
CMD [ "pwsh" ]

docker/Dockerfile renamed to docker/Dockerfile-ubuntu-18.04

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ ARG CONFIG=config
88
ARG AZURERM_CONTEXT_SETTINGS=AzureRmContextSettings.json
99
ARG AZURE=/root/.Azure
1010
ARG VCS_REF="none"
11-
ARG VERSION=3.3.0
12-
ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell
11+
ARG VERSION=
12+
ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-ubuntu-18.04
1313

1414
LABEL maintainer="Azure PowerShell Team <[email protected]>" \
1515
readme.md="http://aka.ms/azpsdockerreadme" \

tools/docker/BuildImages.ps1

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# ----------------------------------------------------------------------------------
2+
#
3+
# Copyright Microsoft Corporation
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
# Unless required by applicable law or agreed to in writing, software
9+
# distributed under the License is distributed on an "AS IS" BASIS,
10+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
# See the License for the specific language governing permissions and
12+
# limitations under the License.
13+
# ----------------------------------------------------------------------------------
14+
param(
15+
[Parameter(Mandatory = $true)]
16+
[string]$DOCKER,
17+
18+
[Parameter(Mandatory = $true)]
19+
[string]$IMAGENAME
20+
)
21+
22+
##TODO:read version from file
23+
$version = 12345
24+
25+
try {
26+
foreach ($dockerfile in (Get-ChildItem -Path $DOCKER -Filter "Dockerfile-*").FullName) {
27+
$os = $dockerfile.split("Dockerfile-")[1]
28+
Write-Output $os
29+
docker build -t $IMAGENAME':'$version"-"$os -f $dockerfile $DOCKER
30+
}
31+
} catch {
32+
$Errors = $_
33+
Write-Error ($_ | Out-String)
34+
}

0 commit comments

Comments
 (0)