gitlab-ci-multi-runner.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. # reqires: wget, yum-utils
  3. set -e
  4. set -o pipefail
  5. _here=`dirname $(realpath $0)`
  6. . ${_here}/helpers/apt-download
  7. [ -z "${LOADED_APT_DOWNLOAD}" ] && (echo "failed to load apt-download"; exit 1)
  8. BASE_PATH="${TUNASYNC_WORKING_DIR}"
  9. YUM_PATH="${BASE_PATH}/yum"
  10. UBUNTU_VERSIONS=("trusty" "xenial")
  11. DEBIAN_VERSIONS=("wheezy" "jessie" "stretch")
  12. UBUNTU_PATH="${BASE_PATH}/ubuntu/"
  13. DEBIAN_PATH="${BASE_PATH}/debian/"
  14. mkdir -p $UBUNTU_PATH $DEBIAN_PATH $YUM_PATH
  15. cache_dir="/tmp/yum-gitlab-runner-cache/"
  16. cfg="/tmp/gitlab-runner-yum.conf"
  17. cat <<EOF > ${cfg}
  18. [main]
  19. keepcache=0
  20. [gitlab-ci-multi-runner-el6]
  21. name=gitlab-ci-multi-runner-el6
  22. baseurl=https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/6/x86_64
  23. repo_gpgcheck=0
  24. gpgcheck=0
  25. enabled=1
  26. gpgkey=https://packages.gitlab.com/gpg.key
  27. sslverify=0
  28. [gitlab-ci-multi-runner-el7]
  29. name=gitlab-ci-multi-runner-el7
  30. baseurl=https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/7/x86_64
  31. repo_gpgcheck=0
  32. gpgcheck=0
  33. enabled=1
  34. gpgkey=https://packages.gitlab.com/gpg.key
  35. sslverify=0
  36. EOF
  37. reposync -c $cfg -d -p ${YUM_PATH} -e $cache_dir
  38. [ ! -d ${YUM_PATH}/el6 ] && mkdir -p ${YUM_PATH}/el6
  39. [ ! -d ${YUM_PATH}/el7 ] && mkdir -p ${YUM_PATH}/el7
  40. createrepo --update -v -c $cache_dir -o ${YUM_PATH}/el6 ${YUM_PATH}/el6
  41. createrepo --update -v -c $cache_dir -o ${YUM_PATH}/el7 ${YUM_PATH}/el7
  42. rm $cfg
  43. base_url="https://packages.gitlab.com/runner/gitlab-ci-multi-runner/ubuntu"
  44. for version in ${UBUNTU_VERSIONS[@]}; do
  45. apt-download-binary ${base_url} "$version" "main" "amd64" "${UBUNTU_PATH}" || true
  46. apt-download-binary ${base_url} "$version" "main" "i386" "${UBUNTU_PATH}" || true
  47. done
  48. echo "Ubuntu finished"
  49. base_url="https://packages.gitlab.com/runner/gitlab-ci-multi-runner/debian"
  50. for version in ${DEBIAN_VERSIONS[@]}; do
  51. apt-download-binary ${base_url} "$version" "main" "amd64" "${DEBIAN_PATH}" || true
  52. apt-download-binary ${base_url} "$version" "main" "i386" "${DEBIAN_PATH}" || true
  53. done
  54. echo "Debian finished"
  55. # vim: ts=4 sts=4 sw=4