forked from TrueCloudLab/neoneo-go
Dockerfile.wsc: use official golang image for Windows NeoGo image
Don't need to keep the copy of the official Golang image in our dockerfile, let's use it as a base builder image. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This commit is contained in:
parent
45dcf38563
commit
9cd5c88077
1 changed files with 1 additions and 70 deletions
|
@ -1,75 +1,6 @@
|
||||||
# Builder image
|
# Builder image
|
||||||
FROM mcr.microsoft.com/windows/servercore:ltsc2022 as builder
|
|
||||||
|
|
||||||
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';", "$ProgressPreference = 'SilentlyContinue';"]
|
|
||||||
|
|
||||||
ENV GIT_VERSION=2.23.0
|
|
||||||
|
|
||||||
ENV GIT_TAG=v2.23.0.windows.1
|
|
||||||
|
|
||||||
ENV GIT_DOWNLOAD_URL=https://github.com/git-for-windows/git/releases/download/v2.23.0.windows.1/MinGit-2.23.0-64-bit.zip
|
|
||||||
|
|
||||||
ENV GIT_DOWNLOAD_SHA256=8f65208f92c0b4c3ae4c0cf02d4b5f6791d539cd1a07b2df62b7116467724735
|
|
||||||
|
|
||||||
RUN Write-Host ('Downloading {0} ...' -f $env:GIT_DOWNLOAD_URL); \
|
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
|
||||||
Invoke-WebRequest -Uri $env:GIT_DOWNLOAD_URL -OutFile 'git.zip'; \
|
|
||||||
\
|
|
||||||
Write-Host ('Verifying sha256 ({0}) ...' -f $env:GIT_DOWNLOAD_SHA256); \
|
|
||||||
if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_DOWNLOAD_SHA256) { \
|
|
||||||
Write-Host 'FAILED!'; \
|
|
||||||
exit 1; \
|
|
||||||
}; \
|
|
||||||
\
|
|
||||||
Write-Host 'Expanding ...'; \
|
|
||||||
Expand-Archive -Path git.zip -DestinationPath C:\git\.; \
|
|
||||||
\
|
|
||||||
Write-Host 'Removing ...'; \
|
|
||||||
Remove-Item git.zip -Force; \
|
|
||||||
\
|
|
||||||
Write-Host 'Updating PATH ...'; \
|
|
||||||
$env:PATH = 'C:\git\cmd;C:\git\mingw64\bin;C:\git\usr\bin;' + $env:PATH; \
|
|
||||||
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \
|
|
||||||
\
|
|
||||||
Write-Host 'Verifying install ("git version") ...'; \
|
|
||||||
git version; \
|
|
||||||
\
|
|
||||||
Write-Host 'Complete.';
|
|
||||||
|
|
||||||
ENV GOPATH=C:\\go
|
|
||||||
|
|
||||||
RUN $newPath = ('{0}\bin;C:\Program Files\Go\bin;{1}' -f $env:GOPATH, $env:PATH); \
|
|
||||||
Write-Host ('Updating PATH: {0}' -f $newPath); \
|
|
||||||
[Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine);
|
|
||||||
|
|
||||||
# Keep go version in sync with Build GA job.
|
# Keep go version in sync with Build GA job.
|
||||||
ENV GOLANG_VERSION=1.21.3
|
FROM golang:1.21.3-windowsservercore-ltsc2022 as builder
|
||||||
|
|
||||||
RUN $url = 'https://dl.google.com/go/go1.21.3.windows-amd64.zip'; \
|
|
||||||
Write-Host ('Downloading {0} ...' -f $url); \
|
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \
|
|
||||||
Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \
|
|
||||||
\
|
|
||||||
$sha256 = '27c8daf157493f288d42a6f38debc6a2cb391f6543139eba9152fceca0be2a10'; \
|
|
||||||
Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \
|
|
||||||
if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \
|
|
||||||
Write-Host 'FAILED!'; \
|
|
||||||
exit 1; \
|
|
||||||
}; \
|
|
||||||
\
|
|
||||||
Write-Host 'Expanding ...'; \
|
|
||||||
Expand-Archive go.zip -DestinationPath C:\; \
|
|
||||||
\
|
|
||||||
Write-Host 'Moving ...'; \
|
|
||||||
Move-Item -Path C:\go -Destination 'C:\Program Files\Go'; \
|
|
||||||
\
|
|
||||||
Write-Host 'Removing ...'; \
|
|
||||||
Remove-Item go.zip -Force; \
|
|
||||||
\
|
|
||||||
Write-Host 'Verifying install ("go version") ...'; \
|
|
||||||
go version; \
|
|
||||||
\
|
|
||||||
Write-Host 'Complete.';
|
|
||||||
|
|
||||||
COPY . /neo-go
|
COPY . /neo-go
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue