|
14 | 14 | fi
|
15 | 15 |
|
16 | 16 | export IMG_NAMESPACE=$(echo "${CI_PROJECT_NAMESPACE}" | awk '{print tolower($0)}')
|
17 |
| -export IMG_PREFIX=$(echo "${REGISTRY_URL:-"docker.io"}/${IMG_NAMESPACE}" | awk '{print tolower($0)}') |
| 17 | +export IMG_PREFIX_SRC=$(echo "${REGISTRY_SRC:-"docker.io"}/${IMG_NAMESPACE}" | awk '{print tolower($0)}') |
| 18 | +export IMG_PREFIX_DST=$(echo "${REGISTRY_DST:-"docker.io"}/${IMG_NAMESPACE}" | awk '{print tolower($0)}') |
18 | 19 | export TAG_SUFFIX="-$(git rev-parse --short HEAD)"
|
19 | 20 |
|
20 | 21 | echo "--------> CI_PROJECT_NAMESPACE=${CI_PROJECT_NAMESPACE}"
|
21 | 22 | echo "--------> DOCKER_IMG_NAMESPACE=${IMG_NAMESPACE}"
|
22 |
| -echo "--------> DOCKER_IMG_PREFIX=${IMG_PREFIX}" |
| 23 | +echo "--------> DOCKER_IMG_PREFIX_SRC=${IMG_PREFIX_SRC}" |
| 24 | +echo "--------> DOCKER_IMG_PREFIX_DST=${IMG_PREFIX_DST}" |
23 | 25 | echo "--------> DOCKER_TAG_SUFFIX=${TAG_SUFFIX}"
|
24 | 26 |
|
25 |
| -if [ -f /etc/docker/daemon.json ]; then |
26 |
| - jq '.experimental=true | ."data-root"="/mnt/docker"' /etc/docker/daemon.json > /tmp/daemon.json && sudo mv /tmp/daemon.json /etc/docker/ \ |
27 |
| - && ( sudo service docker restart || true ) |
28 |
| -fi |
29 |
| -cat /etc/docker/daemon.json |
30 |
| -docker info |
| 27 | +[ ! -f /etc/docker/daemon.json ] && sudo tee /etc/docker/daemon.json > /dev/null <<< '{}' |
| 28 | +jq '.experimental=true | ."data-root"="/mnt/docker"' /etc/docker/daemon.json > /tmp/daemon.json && sudo mv /tmp/daemon.json /etc/docker/ |
| 29 | +( sudo service docker restart || true ) && cat /etc/docker/daemon.json && docker info |
31 | 30 |
|
32 | 31 | build_image() {
|
33 | 32 | echo "$@" ;
|
34 | 33 | IMG=$1; TAG=$2; FILE=$3; shift 3; VER=$(date +%Y.%m%d.%H%M)${TAG_SUFFIX}; WORKDIR="$(dirname $FILE)";
|
35 |
| - docker build --compress --force-rm=true -t "${IMG_PREFIX}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX}" "$@" "${WORKDIR}" ; |
36 |
| - docker tag "${IMG_PREFIX}/${IMG}:${TAG}" "${IMG_PREFIX}/${IMG}:${VER}" ; |
| 34 | + docker build --compress --force-rm=true -t "${IMG_PREFIX_DST}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX_SRC}" "$@" "${WORKDIR}" ; |
| 35 | + docker tag "${IMG_PREFIX_DST}/${IMG}:${TAG}" "${IMG_PREFIX_DST}/${IMG}:${VER}" ; |
37 | 36 | }
|
38 | 37 |
|
39 | 38 | build_image_no_tag() {
|
40 | 39 | echo "$@" ;
|
41 | 40 | IMG=$1; TAG=$2; FILE=$3; shift 3; WORKDIR="$(dirname $FILE)";
|
42 |
| - docker build --compress --force-rm=true -t "${IMG_PREFIX}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX}" "$@" "${WORKDIR}" ; |
| 41 | + docker build --compress --force-rm=true -t "${IMG_PREFIX_DST}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX_SRC}" "$@" "${WORKDIR}" ; |
43 | 42 | }
|
44 | 43 |
|
45 | 44 | build_image_common() {
|
46 | 45 | echo "$@" ;
|
47 | 46 | IMG=$1; TAG=$2; FILE=$3; shift 3; VER=$(date +%Y.%m%d.%H%M)${TAG_SUFFIX}; WORKDIR="$(dirname $FILE)";
|
48 |
| - docker build --compress --force-rm=true -t "${IMG_PREFIX}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX}" "$@" "${WORKDIR}" ; |
49 |
| - docker tag "${IMG_PREFIX}/${IMG}:${TAG}" "${IMG_PREFIX}/${IMG}:${VER}" ; |
| 47 | + docker build --compress --force-rm=true -t "${IMG_PREFIX_DST}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX_SRC}" "$@" "${WORKDIR}" ; |
| 48 | + docker tag "${IMG_PREFIX_DST}/${IMG}:${TAG}" "${IMG_PREFIX_DST}/${IMG}:${VER}" ; |
50 | 49 | }
|
51 | 50 |
|
52 | 51 | alias_image() {
|
53 | 52 | IMG_1=$1; TAG_1=$2; IMG_2=$3; TAG_2=$4; shift 4; VER=$(date +%Y.%m%d.%H%M)${TAG_SUFFIX};
|
54 |
| - docker tag "${IMG_PREFIX}/${IMG_1}:${TAG_1}" "${IMG_PREFIX}/${IMG_2}:${TAG_2}" ; |
55 |
| - docker tag "${IMG_PREFIX}/${IMG_2}:${TAG_2}" "${IMG_PREFIX}/${IMG_2}:${VER}" ; |
| 53 | + docker tag "${IMG_PREFIX_DST}/${IMG_1}:${TAG_1}" "${IMG_PREFIX_DST}/${IMG_2}:${TAG_2}" ; |
| 54 | + docker tag "${IMG_PREFIX_DST}/${IMG_2}:${TAG_2}" "${IMG_PREFIX_DST}/${IMG_2}:${VER}" ; |
56 | 55 | }
|
57 | 56 |
|
58 | 57 | push_image() {
|
59 | 58 | KEYWORD="${1:-second}";
|
60 | 59 | docker image prune --force && docker images | sort;
|
61 | 60 | IMAGES=$(docker images | grep "${KEYWORD}" | awk '{print $1 ":" $2}') ;
|
62 |
| - echo "$DOCKER_REGISTRY_PASSWORD" | docker login "${REGISTRY_URL}" -u "$DOCKER_REGISTRY_USERNAME" --password-stdin ; |
| 61 | + echo "$DOCKER_REGISTRY_PASSWORD" | docker login "${REGISTRY_DST}" -u "$DOCKER_REGISTRY_USERNAME" --password-stdin ; |
63 | 62 | for IMG in $(echo "${IMAGES}" | tr " " "\n") ;
|
64 | 63 | do
|
65 | 64 | docker push "${IMG}";
|
|
0 commit comments