docker script switch to yum-utils and apt-download, dropping wget

gitlab-ci-multi-runner bug fix
This commit is contained in:
bigeagle 2016-04-09 17:25:29 +08:00
parent f9805dbc48
commit f814117deb
No known key found for this signature in database
GPG Key ID: 9171A4571C27920A
2 changed files with 54 additions and 14 deletions

View File

@ -1,16 +1,56 @@
#!/bin/bash
# reqires: wget, yum-utils
function sync_docker() {
repo_url="$1"
repo_dir="$2"
set -e
set -o pipefail
[ ! -d "$repo_dir" ] && mkdir -p "$repo_dir"
cd $repo_dir
# lftp "${repo_url}/" -e "mirror --verbose --exclude-glob='*/SRPMS/*' -P 5 --delete --only-newer; bye"
# lftp "${repo_url}/" -e "mirror --verbose -P 5 --delete --only-newer; bye"
wget --mirror --convert-links --no-parent --no-host-directories $repo_url
find . -type f -iname "*.1" -exec rm {} \;
}
_here=`dirname $(realpath $0)`
. ${_here}/helpers/apt-download
APT_VERSIONS=("debian-wheezy" "debian-jessie" "ubuntu-trusty" "ubuntu-xenial")
sync_docker "http://apt.dockerproject.org/" "${TUNASYNC_WORKING_DIR}/apt"
sync_docker "http://yum.dockerproject.org/" "${TUNASYNC_WORKING_DIR}/yum"
BASE_PATH="${TUNASYNC_WORKING_DIR}"
APT_PATH="${BASE_PATH}/apt/repo"
YUM_PATH="${BASE_PATH}/yum/repo"
mkdir -p ${APT_PATH} ${YUM_PATH}
# YUM mirror
cache_dir="/tmp/yum-docker-cache/"
cfg="/tmp/docker-yum.conf"
cat <<EOF > ${cfg}
[main]
keepcache=0
[centos6]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/6
enabled=1
gpgcheck=0
gpgkey=https://yum.dockerproject.org/gpg
sslverify=0
[centos7]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=0
gpgkey=https://yum.dockerproject.org/gpg
sslverify=0
EOF
[ ! -d ${YUM_PATH}/centos6 ] && mkdir -p ${YUM_PATH}/centos6
[ ! -d ${YUM_PATH}/centos7 ] && mkdir -p ${YUM_PATH}/centos7
reposync -c $cfg -d -p ${YUM_PATH} -e $cache_dir
createrepo --update -v -c $cache_dir -o ${YUM_PATH}/centos6 ${YUM_PATH}/centos7
createrepo --update -v -c $cache_dir -o ${YUM_PATH}/centos6 ${YUM_PATH}/centos7
rm $cfg
# APT mirror
base_url="http://apt.dockerproject.org/repo"
for version in ${APT_VERSIONS[@]}; do
apt-download-binary ${base_url} "$version" "main" "amd64" "${APT_PATH}" || true
apt-download-binary ${base_url} "$version" "main" "i386" "${APT_PATH}" || true
done
# sync_docker "http://apt.dockerproject.org/" "${TUNASYNC_WORKING_DIR}/apt"
# sync_docker "http://yum.dockerproject.org/" "${TUNASYNC_WORKING_DIR}/yum"

View File

@ -25,7 +25,7 @@ cat <<EOF > ${cfg}
[main]
keepcache=0
[gitlab-ci-multi-runner-el6]
[el6]
name=gitlab-ci-multi-runner-el6
baseurl=https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/6/x86_64
repo_gpgcheck=0
@ -34,7 +34,7 @@ enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
sslverify=0
[gitlab-ci-multi-runner-el7]
[el7]
name=gitlab-ci-multi-runner-el7
baseurl=https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/7/x86_64
repo_gpgcheck=0