@@ -2,17 +2,45 @@ FROM microsoft/windowsservercore
22
33SHELL ["powershell" , "-Command" , "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';" ]
44
5- ENV NPM_CONFIG_LOGLEVEL info
6- ENV NODE_VERSION 4.8.1
7- ENV NODE_SHA256 edb47c31de7891ddb58d5e1024e31c91b49b4f2226cf6c3e0c41e715ee6111e4
5+ ENV GPG_VERSION 2.3.3
6+
7+ RUN Invoke-WebRequest $('https://files.gpg4win.org/gpg4win-vanilla-{0}.exe' -f $env:GPG_VERSION) -OutFile 'gpg4win.exe' -UseBasicParsing ; \
8+ Start-Process .\g pg4win.exe -ArgumentList '/S' -NoNewWindow -Wait
9+
10+ RUN @( \
11+ '9554F04D7259F04124DE6B476D5A82AC7E37093B' , \
12+ '94AE36675C464D64BAFA68DD7434390BDBE9B9C5' , \
13+ 'FD3A5288F042B6850C66B31F09FE44734EB7990E' , \
14+ '71DCFD284A79C3B38668286BC97EC7A07EDE3FC1' , \
15+ 'DD8F2338BAE7501E3DD5AC78C273792F7D83545D' , \
16+ 'B9AE9905FFD7803F25714661B63B535A4C206CA9' , \
17+ 'C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8' , \
18+ '56730D5401028683275BD23C23EFEFE93C4CFFFE' \
19+ ) | foreach { \
20+ gpg --keyserver ha.pool.sks-keyservers.net --recv-keys $_ ; \
21+ }
22+
23+ ENV NODE_VERSION 4.8.2
24+
25+ RUN Invoke-WebRequest $('https://nodejs.org/dist/v{0}/SHASUMS256.txt.asc' -f $env:NODE_VERSION) -OutFile 'SHASUMS256.txt.asc' -UseBasicParsing ; \
26+ gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc
827
928RUN Invoke-WebRequest $('https://nodejs.org/dist/v{0}/node-v{0}-win-x64.zip' -f $env:NODE_VERSION) -OutFile 'node.zip' -UseBasicParsing ; \
10- if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $env:NODE_SHA256) {exit 1} ; \
29+ $sum = $(cat SHASUMS256.txt.asc | sls $(' node-v{0}-win-x64.zip' -f $env:NODE_VERSION)) -Split ' ' ; \
30+ if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $sum[0]) { Write-Error 'SHA256 mismatch' } ; \
1131 Expand-Archive node.zip -DestinationPath C:\ ; \
12- Rename-Item -Path $('C:\n ode-v{0}-win-x64' -f $env:NODE_VERSION) -NewName 'C:\n odejs' ; \
13- New-Item $($env:APPDATA + '\n pm' ) ; \
32+ Rename-Item -Path $('C:\n ode-v{0}-win-x64' -f $env:NODE_VERSION) -NewName 'C:\n odejs'
33+
34+ FROM microsoft/windowsservercore
35+
36+ SHELL ["powershell" , "-Command" , "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';" ]
37+
38+ ENV NPM_CONFIG_LOGLEVEL info
39+
40+ COPY --from=0 /nodejs /nodejs
41+
42+ RUN New-Item $($env:APPDATA + '\n pm' ) ; \
1443 $env:PATH = 'C:\n odejs;{0}\n pm;{1}' -f $env:APPDATA, $env:PATH ; \
15- [Environment]::SetEnvironmentVariable('PATH' , $env:PATH, [EnvironmentVariableTarget]::Machine) ; \
16- Remove-Item -Path node.zip
44+ [Environment]::SetEnvironmentVariable('PATH' , $env:PATH, [EnvironmentVariableTarget]::Machine)
1745
1846CMD [ "node.exe" ]
0 commit comments