@@ -3,66 +3,20 @@ FROM mcr.microsoft.com/windows/servercore:ltsc2019 as installer
3
3
SHELL ["powershell" , "-Command" , "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';" ]
4
4
5
5
# PATH isn't actually set in the Docker image, so we have to set it from within the container
6
- RUN $newPath = ('C:\P rogram Files (x86)\G nuPG\b in;{0}' -f $env:PATH); \
7
- Write-Host ('Updating PATH: {0}' -f $newPath); \
6
+ RUN $newPath = ('C:\n odejs;{0};{0}' -f $env:PATH); \
8
7
[Environment]::SetEnvironmentVariable('PATH' , $newPath, [EnvironmentVariableTarget]::Machine)
9
8
# doing this first to share cache across versions more aggressively
10
9
11
- ENV NODE_VERSION 22.8 .0
12
- ENV NODE_CHECKSUM d6e1c4fca93997224cac0bec09b4201aa018f50171d38c6b85abe483012839c9
10
+ ENV NODE_VERSION 22.9 .0
11
+ ENV NODE_CHECKSUM 8af226c0aa71fefe5228e881f4b5c5d90a8b41c290b96f44f56990d8dc3fac1c
13
12
14
- # Version and checksum of the GPG installer (Source: https://www.gnupg.org/download/integrity_check.html)
15
- ENV GPG_VERSION 2.4.5_20240307
16
- ENV GPG_CHECKSUM d2ac821ceacf9409ebcdb42ae330087ada30c732981f00b356f9c2f08fac4dc1
17
-
18
- RUN Invoke-WebRequest $('https://www.gnupg.org/ftp/gcrypt/binary/gnupg-w32-{0}.exe' -f $env:GPG_VERSION) -OutFile 'gpg-installer.exe' ; \
19
- if ((Get-FileHash gpg-installer.exe -Algorithm sha256).Hash -ne $env:GPG_CHECKSUM) { Write-Error 'GPG checksum mismatch' }; \
20
- Start-Process -FilePath 'gpg-installer.exe' -ArgumentList '/S' -Wait; \
21
- gpg --version;
22
-
23
- RUN @( \
24
- '4ED778F539E3634C779C87C6D7062848A1AB005C' , \
25
- '141F07595B7B3FFE74309A937405533BE57C7D57' , \
26
- '74F12602B6F1C4E913FAA37AD3A89613643B6201' , \
27
- 'DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7' , \
28
- '61FC681DFB92A079F1685E77973F295594EC4689' , \
29
- '8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600' , \
30
- 'C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8' , \
31
- '890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4' , \
32
- 'C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C' , \
33
- '108F52B48DB57BB0CC439B2997B01419BD92F80A' , \
34
- 'A363A499291CBBC940DD62E41F10027AF002F8B0' , \
35
- 'CC68F5A3106FF448322E48ED27F5E38D5B0A215F' \
36
- ) | foreach { \
37
- gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys $_ ; \
38
- if (-not $?) { \
39
- gpg --batch --keyserver keyserver.ubuntu.com --recv-keys $_ ; \
40
- } \
41
- } ; \
42
- [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; \
43
- Invoke-WebRequest $('https://nodejs.org/dist/v{0}/SHASUMS256.txt.asc' -f $env:NODE_VERSION) -OutFile 'SHASUMS256.txt.asc' -UseBasicParsing ; \
44
- gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc ; \
13
+ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; \
45
14
Invoke-WebRequest $('https://nodejs.org/dist/v{0}/node-v{0}-win-x64.zip' -f $env:NODE_VERSION) -OutFile 'node.zip' -UseBasicParsing ; \
46
- $sum = $(cat SHASUMS256.txt.asc | sls $(' node-v{0}-win-x64.zip' -f $env:NODE_VERSION)) -Split ' ' ; \
47
- if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $sum[0]) { Write-Error 'SHA256 mismatch' } ; \
15
+ if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $env:NODE_CHECKSUM) { Write-Error 'SHA256 mismatch' } ; \
48
16
Expand-Archive node.zip -DestinationPath C:\ ; \
49
- Rename-Item -Path $('C:\n ode-v{0}-win-x64' -f $env:NODE_VERSION) -NewName 'C:\n odejs'
50
-
51
- FROM mcr.microsoft.com/windows/servercore:ltsc2019 as runner
52
-
53
- SHELL ["powershell" , "-Command" , "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';" ]
54
-
55
- COPY --from=installer C:/nodejs C:/nodejs
56
- COPY docker-entrypoint.ps1 C:/docker-entrypoint.ps1
57
-
58
- RUN $newPath = ('C:\n odejs;{0}' -f $env:PATH); \
59
- Write-Host ('Updating PATH: {0}' -f $newPath); \
60
- [Environment]::SetEnvironmentVariable('PATH' , $newPath, [EnvironmentVariableTarget]::Machine); \
61
- # Because we need to use it in the current session
62
- $env:PATH = $newPath; \
17
+ Rename-Item -Path $('C:\n ode-v{0}-win-x64' -f $env:NODE_VERSION) -NewName 'C:\n odejs' ; \
18
+ Remove-Item node.zip -Force ; \
63
19
node --version; \
64
20
npm --version;
65
21
66
- ENTRYPOINT [ "powershell.exe" , "C:/docker-entrypoint.ps1" ]
67
-
68
22
CMD [ "node.exe" ]
0 commit comments