diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0f5be25..99e8afb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,14 +1,26 @@ stages: - build + - build-manifest variables: - CACHETAG: build-${VERSION} DOCKER_HOST: tcp://docker:2375 + BRANCH: latest + VERSION: ${BRANCH} + VERSIONARCH: ${VERSION}-${ARCH} +cache: + key: ${CI_COMMIT_REF_SLUG} + paths: + - docker/ + +image: docker:latest services: - docker:dind before_script: +- if [ ! -d docker ]; then mkdir docker; fi +# sed -i -e s'/https/http/' /etc/apk/repositories +# HTTP_PROXY=http://proxy.dege.lan:3128 apk add git curl - docker info - docker version - echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin diff --git a/.gitlab-docker-armv7l.yml b/.gitlab-docker-armv7l.yml index ae3fbe0..33fc9ab 100644 --- a/.gitlab-docker-armv7l.yml +++ b/.gitlab-docker-armv7l.yml @@ -1,14 +1,14 @@ -build:armv7l: +armv7l:build: variables: - VERSION: armv7l + ARCH: armv7l stage: build image: docker:latest script: - if [ -f init ]; then chmod 500 init; fi - - ([ -z "$REFRESH" ] && docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG}) || true - - docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} . - - docker push ${CI_REGISTRY_IMAGE}:${VERSION} - - docker push ${CI_REGISTRY_IMAGE}:${CACHETAG} + - ([ -z "$REFRESH" -a -f docker/${CI_COMMIT_REF_SLUG} ]) && docker load < docker/${CI_COMMIT_REF_SLUG} || true + - docker build --build-arg HTTP_PROXY=http://proxy.dege.lan:3128 --cache-from ${CI_REGISTRY_IMAGE}:${VERSIONARCH} -t ${CI_REGISTRY_IMAGE}:${VERSIONARCH} . + - docker push ${CI_REGISTRY_IMAGE}:${VERSIONARCH} + - docker save ${CI_REGISTRY_IMAGE}:${VERSIONARCH} > docker/${CI_COMMIT_REF_SLUG} tags: - docker - armv7l diff --git a/.gitlab-docker-x86_64.yml b/.gitlab-docker-x86_64.yml index 3c18187..77741bd 100644 --- a/.gitlab-docker-x86_64.yml +++ b/.gitlab-docker-x86_64.yml @@ -1,16 +1,16 @@ -build:x86_64: +x86_64:build: variables: - VERSION: x86_64 + ARCH: x86_64 stage: build - image: docker:latest script: - - if [ -f init ]; then chmod 500 init; fi - - ([ -z "$REFRESH" ] && docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG}) || true - - docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} . - - docker push ${CI_REGISTRY_IMAGE}:${VERSION} - - docker push ${CI_REGISTRY_IMAGE}:${CACHETAG} + - if [ -f init ]; then chmod 500 init; fi + - ([ -z "$REFRESH" -a -f build-cache/${CI_COMMIT_REF_SLUG} ]) && docker load < build-cache/${CI_COMMIT_REF_SLUG} || true + - rm build-cache/* || true + - docker build --build-arg HTTP_PROXY=http://proxy.dege.lan:3128 --cache-from ${CI_REGISTRY_IMAGE}:${VERSIONARCH} -t ${CI_REGISTRY_IMAGE}:${VERSIONARCH} . + - docker push ${CI_REGISTRY_IMAGE}:${VERSIONARCH} + - docker save ${CI_REGISTRY_IMAGE}:${VERSIONARCH} > build-cache/${CI_COMMIT_REF_SLUG} tags: - - docker - - x86_64 + - docker + - x86_64 only: - - master + - master