mirror of
https://github.com/goharbor/harbor.git
synced 2024-09-03 18:00:29 +02:00
This commit is target to fix harbor issue #9186, which root cause is mentioned by https://github.com/docker/distribution/issues/2553, and fixed by https://github.com/docker/distribution/pull/2879. As the latest distribution release(v2.7.1) does not contain this fix, but it will break the quota migraion process on S3 storage, we have to path this fix into Harbor regsitry binary. [Tag Version] It uses the issue number(2553) as the tag naming convention, like v2.7.1-patch-2553, means that we patch the fix of issue 2553 into v2.7.1. [Note] So far, this fix is only targets on docker regsitry v2.7.1. If the registry has this fix in new release, we'll move on. Signed-off-by: wang yan <wangyan@vmware.com>
47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set +e
|
|
|
|
if [ -z $1 ]; then
|
|
error "Please set the 'version' variable"
|
|
exit 1
|
|
fi
|
|
|
|
VERSION="$1"
|
|
|
|
set -e
|
|
|
|
# the temp folder to store binary file...
|
|
mkdir -p binary
|
|
rm -rf binary/registry || true
|
|
|
|
cd `dirname $0`
|
|
cur=$PWD
|
|
|
|
# the temp folder to store distribution source code...
|
|
TEMP=`mktemp -d /$TMPDIR/distribution.XXXXXX`
|
|
git clone -b $VERSION https://github.com/docker/distribution.git $TEMP
|
|
|
|
# add patch 2879
|
|
echo 'add patch https://github.com/docker/distribution/pull/2879 ...'
|
|
cd $TEMP
|
|
wget https://github.com/docker/distribution/pull/2879.patch
|
|
git apply 2879.patch
|
|
cd $cur
|
|
|
|
echo 'build the registry binary bases on the golang:1.11...'
|
|
cp Dockerfile.binary $TEMP
|
|
docker build -f $TEMP/Dockerfile.binary -t registry-golang $TEMP
|
|
|
|
echo 'copy the registry binary to local...'
|
|
ID=$(docker create registry-golang)
|
|
docker cp $ID:/go/src/github.com/docker/distribution/bin binary
|
|
|
|
docker rm -f $ID
|
|
docker rmi -f registry-golang
|
|
|
|
echo "Build registry binary success, then to build photon image..."
|
|
cd $cur
|
|
cp $TEMP/cmd/registry/config-example.yml config.yml
|
|
rm -rf $TEMP
|