Added helper scripts for updating

update.sh updates the docker files with the latest version(s) of
Node.js and npm.

generate-stackbrew-library.sh is used for updating the library file
This commit is contained in:
Christopher Horrell 2015-01-13 14:44:22 -05:00
parent 9f0dc752bd
commit 7222ca5ead
2 changed files with 62 additions and 0 deletions

39
generate-stackbrew-library.sh Executable file
View File

@ -0,0 +1,39 @@
#!/bin/bash
set -e
declare -A aliases
aliases=(
[0.10]='0 latest'
)
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
versions=( */ )
versions=( "${versions[@]%/}" )
url='git://github.com/joyent/docker-node'
echo '# maintainer: Joyent Image Team <soln@joyent.com> (@joyent)'
for version in "${versions[@]}"; do
commit="$(git log -1 --format='format:%H' -- "$version")"
fullVersion="$(grep -m1 'ENV NODE_VERSION ' "$version/Dockerfile" | cut -d' ' -f3)"
versionAliases=( $fullVersion $version ${aliases[$version]} )
echo
for va in "${versionAliases[@]}"; do
echo "$va: ${url}@${commit} $version"
done
for variant in onbuild slim; do
commit="$(git log -1 --format='format:%H' -- "$version/$variant")"
echo
for va in "${versionAliases[@]}"; do
if [ "$va" = 'latest' ]; then
va="$variant"
else
va="$va-$variant"
fi
echo "$va: ${url}@${commit} $version/$variant"
done
done
done

23
update.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
set -e
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
versions=( "$@" )
if [ ${#versions[@]} -eq 0 ]; then
versions=( */ )
fi
versions=( "${versions[@]%/}" )
npmVersion="$(docker run --rm node npm show npm version)"
for version in "${versions[@]}"; do
fullVersion="$(curl -sSL --compressed 'http://nodejs.org/dist' | grep '<a href="v'"$version." | sed -r 's!.*<a href="v([^"/]+)/?".*!\1!' | sort -V | tail -1)"
(
set -x
sed -ri '
s/^(ENV NODE_VERSION) .*/\1 '"$fullVersion"'/;
s/^(ENV NPM_VERSION) .*/\1 '"$npmVersion"'/;
' "$version/Dockerfile" "$version/slim/Dockerfile"
sed -ri 's/^(FROM node):.*/\1:'"$fullVersion"'/' "$version/onbuild/Dockerfile"
)
done