mirror of
https://github.com/xzeldon/vwdump.git
synced 2025-06-28 03:48:13 +03:00
100 lines
3.0 KiB
YAML
100 lines
3.0 KiB
YAML
stages:
|
|
- push:readme
|
|
- build:docker
|
|
|
|
workflow:
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
- if: $CI_COMMIT_TAG
|
|
|
|
variables:
|
|
DOCKERHUB_REGISTRY: index.docker.io
|
|
DOCKERHUB_REPO: bw_backup
|
|
IMAGE_NAME_DOCKERHUB: $DOCKERHUB_REGISTRY/$DOCKERHUB_USER/$DOCKERHUB_REPO
|
|
# see https://gitlab.com/gitlab-org/gitlab-runner/issues/4501
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_TLS_CERTDIR: "/certs"
|
|
# See https://github.com/docker/buildx/releases
|
|
BUILDX_VERSION: v0.5.1
|
|
BUILDX_ARCH: linux-amd64
|
|
|
|
.docker_login: &docker_login
|
|
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
|
|
.dockerhub_login: &dockerhub_login
|
|
docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASSWORD" $DOCKERHUB_REGISTRY
|
|
|
|
.docker_build_template: &docker_build
|
|
stage: build:docker
|
|
image: docker:latest
|
|
services:
|
|
- name: docker:dind
|
|
command: ["--experimental"]
|
|
tags:
|
|
- shared
|
|
before_script:
|
|
- apk add curl
|
|
- mkdir -p ~/.docker/cli-plugins
|
|
- curl -sSLo ~/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/$BUILDX_VERSION/buildx-$BUILDX_VERSION.$BUILDX_ARCH
|
|
- chmod +x ~/.docker/cli-plugins/docker-buildx
|
|
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
- docker context create my-context
|
|
- docker buildx create --use my-context
|
|
- docker info
|
|
|
|
push_readme:
|
|
stage: push:readme
|
|
image: docker:latest
|
|
services:
|
|
- docker:dind
|
|
tags:
|
|
- shared
|
|
script:
|
|
- docker run
|
|
-v $(pwd)/README.md:/data/README.md:ro
|
|
-e DOCKER_USER=$DOCKERHUB_USER
|
|
-e DOCKER_PASS=$DOCKERHUB_PASSWORD
|
|
-e PUSHRM_FILE=/data/README.md
|
|
-e PUSHRM_TARGET=docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO
|
|
chko/docker-pushrm
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH == "master"'
|
|
changes:
|
|
- README.md
|
|
|
|
build_master:
|
|
<<: *docker_build
|
|
script:
|
|
- *docker_login
|
|
- *dockerhub_login
|
|
#- docker build --pull -t "$IMAGE_NAME" -t "$IMAGE_NAME_DOCKERHUB:${CI_COMMIT_TAG:-latest}" .
|
|
- docker buildx build
|
|
--push
|
|
--platform linux/arm/v7,linux/arm64/v8,linux/amd64
|
|
--tag "$CI_REGISTRY_IMAGE:${CI_COMMIT_TAG:-latest}"
|
|
--tag "$IMAGE_NAME_DOCKERHUB:${CI_COMMIT_TAG:-latest}" .
|
|
#- docker push "$IMAGE_NAME"
|
|
#- docker push "$IMAGE_NAME_DOCKERHUB:${CI_COMMIT_TAG:-latest}"
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_TAG'
|
|
changes:
|
|
- Dockerfile
|
|
- backup.sh
|
|
- entrypoint.sh
|
|
|
|
build:
|
|
<<: *docker_build
|
|
script:
|
|
- *docker_login
|
|
#- docker build --pull -t "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/bw_backup:${CI_COMMIT_TAG:-latest}" .
|
|
- docker buildx build
|
|
--push
|
|
--platform linux/arm/v7,linux/arm64/v8,linux/amd64
|
|
--tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" .
|
|
#- docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/bw_backup:${CI_COMMIT_TAG:-latest}"
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_TAG'
|
|
when: never
|
|
- when: on_success
|
|
|