From f814117deb969ae098ca2eca5e5fc2f8ad622719 Mon Sep 17 00:00:00 2001 From: bigeagle Date: Sat, 9 Apr 2016 17:25:29 +0800 Subject: [PATCH] docker script switch to yum-utils and apt-download, dropping wget gitlab-ci-multi-runner bug fix --- scripts/docker.sh | 64 +++++++++++++++++++++++++------ scripts/gitlab-ci-multi-runner.sh | 4 +- 2 files changed, 54 insertions(+), 14 deletions(-) diff --git a/scripts/docker.sh b/scripts/docker.sh index a3b2e69..7c64198 100755 --- a/scripts/docker.sh +++ b/scripts/docker.sh @@ -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 < ${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" diff --git a/scripts/gitlab-ci-multi-runner.sh b/scripts/gitlab-ci-multi-runner.sh index e3ec917..5c32569 100755 --- a/scripts/gitlab-ci-multi-runner.sh +++ b/scripts/gitlab-ci-multi-runner.sh @@ -25,7 +25,7 @@ cat < ${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