From 7fcace7751183663d6a9216e860a7653e9a8fddc Mon Sep 17 00:00:00 2001 From: Brad Rydzewski Date: Tue, 11 Sep 2018 16:06:41 -0700 Subject: [PATCH] working windows images [ci skip] --- docker/Dockerfile.windows.1709 | 19 ++++++------------- docker/Dockerfile.windows.1803 | 19 ++++++------------- windows/clone.ps1 | 12 ++++++++---- 3 files changed, 20 insertions(+), 30 deletions(-) diff --git a/docker/Dockerfile.windows.1709 b/docker/Dockerfile.windows.1709 index 0d17be3..e90736b 100644 --- a/docker/Dockerfile.windows.1709 +++ b/docker/Dockerfile.windows.1709 @@ -1,21 +1,14 @@ FROM microsoft/windowsservercore:1709 AS git - -ENV GIT_VERSION 2.14.1 -ENV GIT_DOWNLOAD_URL https://github.com/git-for-windows/git/releases/download/v${GIT_VERSION}.windows.1/MinGit-${GIT_VERSION}-64-bit.zip -ENV GIT_SHA256 65c12e4959b8874187b68ec37e532fe7fc526e10f6f0f29e699fa1d2449e7d92 +SHELL ["powershell.exe", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; \ - Invoke-WebRequest -UseBasicParsing $env:GIT_DOWNLOAD_URL -OutFile git.zip; \ - if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_SHA256) {exit 1} ; \ - Expand-Archive git.zip -DestinationPath C:\git; \ - Remove-Item git.zip + Invoke-WebRequest -UseBasicParsing https://github.com/git-for-windows/git/releases/download/v2.19.0-rc2.windows.1/MinGit-2.19.0.rc2.windows.1-64-bit.zip -OutFile git.zip; \ + Expand-Archive git.zip -DestinationPath C:\git -FROM microsoft/nanoserver:1709 -USER ContainerAdministrator +FROM microsoft/windowsservercore:1709 COPY --from=git /git /git -RUN setx /m PATH "%PATH%;C:\git\mingw64\bin;C:\git\usr\bin" +ADD windows/* /bin/ -ADD windows/* / SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -ENTRYPOINT [ "\\clone.ps1" ] +CMD [ "powershell", "C:\\bin\\clone.ps1" ] diff --git a/docker/Dockerfile.windows.1803 b/docker/Dockerfile.windows.1803 index 5e99c55..5b81ab6 100644 --- a/docker/Dockerfile.windows.1803 +++ b/docker/Dockerfile.windows.1803 @@ -1,21 +1,14 @@ FROM microsoft/windowsservercore:1803 AS git - -ENV GIT_VERSION 2.14.1 -ENV GIT_DOWNLOAD_URL https://github.com/git-for-windows/git/releases/download/v${GIT_VERSION}.windows.1/MinGit-${GIT_VERSION}-64-bit.zip -ENV GIT_SHA256 65c12e4959b8874187b68ec37e532fe7fc526e10f6f0f29e699fa1d2449e7d92 +SHELL ["powershell.exe", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; \ - Invoke-WebRequest -UseBasicParsing $env:GIT_DOWNLOAD_URL -OutFile git.zip; \ - if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_SHA256) {exit 1} ; \ - Expand-Archive git.zip -DestinationPath C:\git; \ - Remove-Item git.zip + Invoke-WebRequest -UseBasicParsing https://github.com/git-for-windows/git/releases/download/v2.19.0-rc2.windows.1/MinGit-2.19.0.rc2.windows.1-64-bit.zip -OutFile git.zip; \ + Expand-Archive git.zip -DestinationPath C:\git -FROM microsoft/nanoserver:1803 -USER ContainerAdministrator +FROM microsoft/windowsservercore:1803 COPY --from=git /git /git -RUN setx /m PATH "%PATH%;C:\git\mingw64\bin;C:\git\usr\bin" +ADD windows/* /bin/ -ADD windows/* / SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -ENTRYPOINT [ "\\clone.ps1" ] +CMD [ "powershell", "C:\\bin\\clone.ps1" ] diff --git a/windows/clone.ps1 b/windows/clone.ps1 index 263b815..a4c25cf 100644 --- a/windows/clone.ps1 +++ b/windows/clone.ps1 @@ -1,5 +1,9 @@ $ErrorActionPreference = 'Stop'; +# HACK: no clue how to set the PATH inside the Dockerfile, +# so am setting it here instead. This is not idea. +$Env:PATH += ';C:\git\cmd;C:\git\mingw64\bin;C:\git\usr\bin' + # if the workspace is set we should make sure # it is the current working directory. @@ -46,15 +50,15 @@ $Env:GIT_COMMITTER_EMAIL = $Env:GIT_AUTHOR_EMAIL switch ($Env:DRONE_BUILD_EVENT) { "pull_request" { - .\clone-pull-reqest.ps1 + Invoke-Expression "${PSScriptRoot}\clone-pull-reqest.ps1" break } "tag" { - .\clone-tag.ps1 + Invoke-Expression "${PSScriptRoot}\clone-tag.ps1" break } default { - .\clone-commit.ps1 + Invoke-Expression "${PSScriptRoot}\clone-commit.ps1" break } -} +} \ No newline at end of file