@@ -9,34 +9,42 @@ if [ ${#versions[@]} -eq 0 ]; then
99fi
1010versions=( " ${versions[@]%/ } " )
1111
12+
13+ template=
14+ dockerfile=
15+
16+ function update_node_version {
17+ fullVersion=" $( curl -sSL --compressed ' https://nodejs.org/dist' | grep ' <a href="v' " $version ." | sed -E ' s!.*<a href="v([^"/]+)/?".*!\1!' | cut -f 3 -d . | sort -n | tail -1) "
18+ (
19+ cp $template $dockerfile
20+ sed -E -i.bak ' s/^(ENV NODE_VERSION |FROM node:).*/\1' " $version .$fullVersion " ' /' " $dockerfile "
21+ rm " $dockerfile .bak"
22+
23+ # Don't set npm log level in 0.10 and 0.12.
24+ if [[ " $version " == " 0.10" || " $version " == " 0.12" ]]; then
25+ sed -E -i.bak ' /^ENV NPM_CONFIG_LOGLEVEL info/d' " $dockerfile "
26+ rm " $dockerfile .bak"
27+ fi
28+ )
29+ }
30+
1231for version in " ${versions[@]} " ; do
1332 if [[ " $version " == " docs" ]]; then
1433 continue
1534 fi
1635
36+ template=" Dockerfile.template"
37+ dockerfile=" $version /Dockerfile"
38+
39+ update_node_version
40+
1741 variants=$( ls -d $version /* / | awk -F" /" ' {print $2}' )
1842
1943 for variant in $variants ; do
2044 template=" Dockerfile-$variant .template"
2145 dockerfile=" $version /$variant /Dockerfile"
2246
23- if [[ " $variant " == " default" ]]; then
24- template=" Dockerfile.template"
25- dockerfile=" $version /Dockerfile"
26- fi
27-
28- fullVersion=" $( curl -sSL --compressed ' https://nodejs.org/dist' | grep ' <a href="v' " $version ." | sed -E ' s!.*<a href="v([^"/]+)/?".*!\1!' | cut -f 3 -d . | sort -n | tail -1) "
29- (
30- cp $template $dockerfile
31- sed -E -i.bak ' s/^(ENV NODE_VERSION |FROM node:).*/\1' " $version .$fullVersion " ' /' " $dockerfile "
32- rm " $dockerfile .bak"
33-
34- # Don't set npm log level in 0.10 and 0.12.
35- if [[ " $version " == " 0.10" || " $version " == " 0.12" ]]; then
36- sed -E -i.bak ' /^ENV NPM_CONFIG_LOGLEVEL info/d' " $dockerfile "
37- rm " $dockerfile .bak"
38- fi
47+ update_node_version
3948
40- )
4149 done
4250done
0 commit comments