mirror of https://github.com/openwrt/docker.git
refactor to common/download/upload scripts
docker-download.sh - Downloads FILE_DOWNLOAD from FILE_HOST and verifies docker-upload.sh - Uploads the created docker images to docker.io Signed-off-by: Paul Spooren <mail@aparcar.org>pull/12/head
parent
a7fbe478dd
commit
cdf2ada5e3
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
set -e
|
||||
|
||||
docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
|
||||
[ -n "$DOCKER_USER" ] && [ -n "$DOCKER_PASS" ] && docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
|
||||
|
||||
# LEDE Build System (LEDE GnuPG key for unattended build jobs)
|
||||
curl 'https://git.openwrt.org/?p=keyring.git;a=blob_plain;f=gpg/626471F1.asc' | gpg --import \
|
||||
|
|
@ -15,3 +15,7 @@ curl 'https://git.openwrt.org/?p=keyring.git;a=blob_plain;f=gpg/D52BBB6B.asc' |
|
|||
# OpenWrt Release Builder (18.06 Signing Key)
|
||||
curl 'https://git.openwrt.org/?p=keyring.git;a=blob_plain;f=gpg/17E1CE16.asc' | gpg --import \
|
||||
&& echo '6768C55E79B032D77A28DA5F0F20257417E1CE16:6:' | gpg --import-ownertrust
|
||||
|
||||
# LEDE Build System (LEDE usign key for unattended build jobs)
|
||||
curl 'https://git.openwrt.org/?p=keyring.git;a=blob_plain;f=usign/b5043e70f9a75cde' --create-dirs \
|
||||
-o ~/usign/b5043e70f9a75cde
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
export FILE_HOST="${FILE_HOST:-downloads.openwrt.org}"
|
||||
|
||||
curl "https://$FILE_HOST/$DOWNLOAD_PATH/sha256sums" -fs -o sha256sums
|
||||
curl "https://$FILE_HOST/$DOWNLOAD_PATH/sha256sums.asc" -fs -o sha256sums.asc || true
|
||||
curl "https://$FILE_HOST/$DOWNLOAD_PATH/sha256sums.sig" -fs -o sha256sums.sig || true
|
||||
if [ ! -f sha256sums.asc ] && [ ! -f sha256sums.sig ]; then
|
||||
echo "Missing sha256sums signature files"
|
||||
exit 1
|
||||
fi
|
||||
[ ! -f sha256sums.asc ] || gpg --with-fingerprint --verify sha256sums.asc sha256sums
|
||||
if [ -f sha256sums.sig ]; then
|
||||
VERIFIED=
|
||||
for KEY in ~/usign/*; do
|
||||
echo "Trying $KEY..."
|
||||
if signify-openbsd -V -q -p "$KEY" -x sha256sums.sig -m sha256sums; then
|
||||
echo "...verified"
|
||||
VERIFIED=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "$VERIFIED" ]; then
|
||||
echo "Could not verify usign signature"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# shrink checksum file to single desired file and verify downloaded archive
|
||||
rsync -av "$FILE_HOST::downloads/$DOWNLOAD_PATH/$DOWNLOAD_FILE" . || exit 1
|
||||
grep $DOWNLOAD_FILE sha256sums > sha256sums_min
|
||||
sha256sum -c sha256sums_min
|
||||
|
|
@ -1,45 +1,32 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
set -ex
|
||||
|
||||
TARGETS="${TARGETS:-x86-64}"
|
||||
BRANCHES="${BRANCHES:-master}"
|
||||
DOCKER_IMAGE="${DOCKER_IMAGE:-openwrt-imagebuilder}"
|
||||
export DOCKER_IMAGE="${DOCKER_IMAGE:-openwrt-imagebuilder}"
|
||||
export DOWNLOAD_FILE="openwrt-imagebuilder*x86_64.tar.xz"
|
||||
|
||||
for TARGET in $TARGETS ; do
|
||||
export IMAGEBUILDER_FILE="openwrt-imagebuilder*x86_64.tar.xz"
|
||||
export TARGET
|
||||
for BRANCH in $BRANCHES; do
|
||||
export BRANCH
|
||||
if [ "$BRANCH" == "master" ]; then
|
||||
export IMAGEBUILDER_PATH="snapshots/targets/$(echo $TARGET | tr '-' '/')"
|
||||
export DOWNLOAD_PATH="snapshots/targets/$(echo $TARGET | tr '-' '/')"
|
||||
else
|
||||
export IMAGEBUILDER_PATH="releases/$BRANCH/targets/$(echo $TARGET | tr '-' '/')"
|
||||
export DOWNLOAD_PATH="releases/$BRANCH/targets/$(echo $TARGET | tr '-' '/')"
|
||||
fi
|
||||
|
||||
curl "https://downloads.openwrt.org/$IMAGEBUILDER_PATH/sha256sums" -sS -o sha256sums
|
||||
curl "https://downloads.openwrt.org/$IMAGEBUILDER_PATH/sha256sums.asc" -sS -o sha256sums.asc
|
||||
gpg --with-fingerprint --verify sha256sums.asc sha256sums
|
||||
rsync -av "downloads.openwrt.org::downloads/$IMAGEBUILDER_PATH/$IMAGEBUILDER_FILE" . || contine # skip uploading if no IB is available
|
||||
grep openwrt-imagebuilder sha256sums > sha256sums_imagebuilder
|
||||
sha256sum -c sha256sums_imagebuilder
|
||||
./docker-download.sh || exit 1
|
||||
|
||||
mkdir -p ./imagebuilder
|
||||
tar Jxf $IMAGEBUILDER_FILE --strip=1 -C ./imagebuilder
|
||||
rm -rf $IMAGEBUILDER_FILE
|
||||
tar Jxf $DOWNLOAD_FILE --strip=1 -C ./imagebuilder
|
||||
rm -rf $DOWNLOAD_FILE
|
||||
|
||||
docker build -t "$DOCKER_IMAGE:$TARGET-$BRANCH" -f Dockerfile.imagebuilder .
|
||||
|
||||
rm -rf ./imagebuilder
|
||||
|
||||
if [ "$BRANCH" == "master" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$TARGET-$BRANCH" "$DOCKER_IMAGE:$TARGET"
|
||||
docker push "$DOCKER_IMAGE:$TARGET"
|
||||
if [ "$TARGET" == "x86-64" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$TARGET-$BRANCH" "$DOCKER_IMAGE:latest"
|
||||
docker push "$DOCKER_IMAGE:latest"
|
||||
fi
|
||||
else
|
||||
docker push "$DOCKER_IMAGE:$TARGET-$BRANCH"
|
||||
fi
|
||||
[ -n "$DOCKER_USER" ] && [ -n "$DOCKER_PASS" ] && ./docker-upload.sh || true
|
||||
done
|
||||
done
|
||||
|
|
|
|||
|
|
@ -1,44 +1,28 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
TARGETS="${TARGETS:-x86-64}"
|
||||
BRANCHES="${BRANCHES:-master}"
|
||||
DOCKER_IMAGE="${DOCKER_IMAGE:-openwrt-rootfs}"
|
||||
export DOCKER_IMAGE="${DOCKER_IMAGE:-openwrt-rootfs}"
|
||||
export DOWNLOAD_FILE="openwrt-*-rootfs.tar.gz"
|
||||
|
||||
for TARGET in $TARGETS ; do
|
||||
export ROOTFS_FILE="openwrt-*-rootfs.tar.gz"
|
||||
export TARGET
|
||||
for BRANCH in $BRANCHES; do
|
||||
export ROOTFS_PATH="snapshots/targets/$(echo $TARGET | tr '-' '/')"
|
||||
export BRANCH
|
||||
export DOWNLOAD_PATH="snapshots/targets/$(echo $TARGET | tr '-' '/')"
|
||||
|
||||
# download and verify checksums
|
||||
curl "https://downloads.openwrt.org/$ROOTFS_PATH/sha256sums" -sS -o sha256sums
|
||||
curl "https://downloads.openwrt.org/$ROOTFS_PATH/sha256sums.asc" -sS -o sha256sums.asc
|
||||
gpg --with-fingerprint --verify sha256sums.asc sha256sums
|
||||
|
||||
# download file or skip if not available
|
||||
rsync -av "downloads.openwrt.org::downloads/$ROOTFS_PATH/$ROOTFS_FILE" . || contine
|
||||
|
||||
# shrink checksum file to single desired file and verify downloaded archive
|
||||
grep generic-rootfs sha256sums > sha256sums_rootfs
|
||||
sha256sum -c sha256sums_rootfs
|
||||
./docker-download.sh || exit 1
|
||||
|
||||
mkdir -p ./rootfs-openwrt
|
||||
tar xzf $ROOTFS_FILE -C ./rootfs-openwrt
|
||||
rm -rf $ROOTFS_FILE
|
||||
tar xzf $DOWNLOAD_FILE -C ./rootfs-openwrt
|
||||
rm -rf $DOWNLOAD_FILE
|
||||
|
||||
docker build -t "$DOCKER_IMAGE:$TARGET-$BRANCH" -f Dockerfile.rootfs .
|
||||
|
||||
rm -rf ./rootfs-openwrt
|
||||
|
||||
# snapshot don't get master attached to tag
|
||||
if [ "$BRANCH" = "master" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$TARGET-$BRANCH" "$DOCKER_IMAGE:$TARGET"
|
||||
docker push "$DOCKER_IMAGE:$TARGET"
|
||||
if [ "$TARGET" = "x86-64" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$TARGET-$BRANCH" "$DOCKER_IMAGE:latest"
|
||||
docker push "$DOCKER_IMAGE:latest"
|
||||
fi
|
||||
else
|
||||
docker push "$DOCKER_IMAGE:$TARGET-$BRANCH"
|
||||
fi
|
||||
[ -n "$DOCKER_USER" ] && [ -n "$DOCKER_PASS" ] && ./docker-upload.sh || true
|
||||
done
|
||||
done
|
||||
|
|
|
|||
|
|
@ -1,33 +1,27 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
set -ex
|
||||
|
||||
TARGETS="${TARGETS:-x86-64}"
|
||||
BRANCHES="${BRANCHES:-master}"
|
||||
DOCKER_IMAGE="${DOCKER_IMAGE:-openwrt-sdk}"
|
||||
export DOCKER_IMAGE="${DOCKER_IMAGE:-openwrt-sdk}"
|
||||
export DOWNLOAD_FILE="openwrt-sdk-*.Linux-x86_64.tar.xz"
|
||||
|
||||
for TARGET in $TARGETS ; do
|
||||
SDK_FILE="openwrt-sdk-*.Linux-x86_64.tar.xz"
|
||||
for BRANCH in $BRANCHES; do
|
||||
if [ "$BRANCH" == "master" ]; then
|
||||
SDK_PATH="snapshots/targets/$(echo $TARGET | tr '-' '/')"
|
||||
export DOWNLOAD_PATH="snapshots/targets/$(echo $TARGET | tr '-' '/')"
|
||||
BRANCH_FEEDS="$BRANCH"
|
||||
else
|
||||
SDK_PATH="releases/$BRANCH/targets/$(echo $TARGET | tr '-' '/')"
|
||||
export DOWNLOAD_PATH="releases/$BRANCH/targets/$(echo $TARGET | tr '-' '/')"
|
||||
BRANCH_FEEDS="openwrt-$BRANCH"
|
||||
fi
|
||||
|
||||
curl "https://downloads.openwrt.org/$SDK_PATH/sha256sums" -sS -o sha256sums
|
||||
curl "https://downloads.openwrt.org/$SDK_PATH/sha256sums.asc" -sS -o sha256sums.asc
|
||||
gpg --with-fingerprint --verify sha256sums.asc sha256sums
|
||||
rsync -av "downloads.openwrt.org::downloads/$SDK_PATH/$SDK_FILE" . || continue # skip uploading if no SDK is available
|
||||
grep openwrt-sdk sha256sums > sha256sums_sdk
|
||||
sha256sum -c sha256sums_sdk
|
||||
./docker-download.sh || exit 1
|
||||
|
||||
mkdir -p ./sdk
|
||||
tar Jxf $SDK_FILE --strip=1 -C ./sdk
|
||||
rm -rf $SDK_FILE
|
||||
tar Jxf $DOWNLOAD_FILE --strip=1 -C ./sdk
|
||||
rm -rf $DOWNLOAD_FILE
|
||||
|
||||
# use GitHub instead of git.openwrt.org
|
||||
cat > ./sdk/feeds.conf <<EOF
|
||||
|
|
@ -42,15 +36,6 @@ EOF
|
|||
|
||||
rm -rf ./sdk
|
||||
|
||||
if [ "$BRANCH" == "master" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$TARGET-$BRANCH" "$DOCKER_IMAGE:$TARGET"
|
||||
docker push "$DOCKER_IMAGE:$TARGET"
|
||||
if [ "$TARGET" == "x86-64" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$TARGET-$BRANCH" "$DOCKER_IMAGE:latest"
|
||||
docker push "$DOCKER_IMAGE:latest"
|
||||
fi
|
||||
else
|
||||
docker push "$DOCKER_IMAGE:$TARGET-$BRANCH"
|
||||
fi
|
||||
[ -n "$DOCKER_USER" ] && [ -n "$DOCKER_PASS" ] && ./docker-upload.sh || true
|
||||
done
|
||||
done
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
if [ "$BRANCH" == "master" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$TARGET-$BRANCH" "$DOCKER_IMAGE:$TARGET"
|
||||
docker push "$DOCKER_IMAGE:$TARGET"
|
||||
if [ "$TARGET" == "x86-64" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$TARGET-$BRANCH" "$DOCKER_IMAGE:latest"
|
||||
docker push "$DOCKER_IMAGE:latest"
|
||||
fi
|
||||
else
|
||||
docker push "$DOCKER_IMAGE:$TARGET-$BRANCH"
|
||||
fi
|
||||
Loading…
Reference in New Issue