This repository has been archived by the owner on May 31, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy path.gitlab-ci.yml
53 lines (47 loc) · 1.57 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
services:
- 'docker.io/docker:dind'
stages:
- deploy
variables:
DOCKER_USER: "blitznote"
DOCKER_SLUG: "debootstrap-amd64"
GIT_DEPTH: "10"
before_script:
- mkdir -p ~/.docker
- printf '{"auths":{"https://index.docker.io/v1/":{"auth":"%s"}}}\n' "${DOCKER_AUTH}" >~/.docker/config.json
- if grep -q -F docker.io-docker /etc/hosts; then
export DOCKER_HOST="tcp://docker.io-docker:2375";
else
export DOCKER_HOST="tcp://docker:2375";
fi
- docker info
- docker login -u gitlab-ci-token -p "$CI_BUILD_TOKEN" "$CI_REGISTRY"
deploy:
stage: deploy
except:
- '/^doc.*/'
tags:
- privileged
script:
- while read -r R; do
IFS=/ read -r _ NUM ARCH _ <<<"${R}";
cd "${R%/*}";
if [[ "${ARCH}" == "amd64" ]]; then
docker build --rm -t "${CI_REGISTRY_IMAGE}:${NUM}" .;
docker tag "${CI_REGISTRY_IMAGE}:${NUM}" "docker.io/${DOCKER_USER}/${DOCKER_SLUG}:${NUM}";
cp -a "${CI_PROJECT_DIR}"/{spec-amd64,debase-${NUM}}.yaml;
else
docker build --rm -t "${CI_REGISTRY_IMAGE}/${ARCH}:${NUM}" .;
docker tag "${CI_REGISTRY_IMAGE}/${ARCH}:${NUM}" "docker.io/${DOCKER_USER}/${DOCKER_SLUG}:${NUM}-${ARCH}";
fi;
cd "${CI_PROJECT_DIR}";
if [[ -s "spec-${ARCH}.yaml" ]]; then
<"spec-${ARCH}.yaml" sed -e "[email protected]@${NUM}@g" >"debase-${ARCH}-${NUM}.yaml";
fi;
done < <(find -name rootfs.tar)
- docker images
- docker push "${CI_REGISTRY_IMAGE}"
- docker push "docker.io/${DOCKER_USER}/${DOCKER_SLUG}"
- for SPEC in debase-*.yaml; do
./manifest-tool-linux-amd64 push from-spec "${SPEC}";
done