stages: - build .build: image: docker:20.10.16 services: - name: docker:20.10.16-dind alias: docker variables: DOCKER_HOST: tcp://docker:2376 DOCKER_TLS_CERTDIR: "/certs" DOCKER_TLS_VERIFY: 1 DOCKER_CERT_PATH: "/certs/client" DOCKER_DRIVER: "overlay" before_script: - "docker login ${CI_REGISTRY} -u gitlab-ci-token -p ${CI_JOB_TOKEN}" - "docker login -u ${HUB_USERNAME} -p ${HUB_TOKEN}" after_script: - "docker logout ${CI_REGISTRY}" - "docker logout ${HUB_REGISTRY}" build_5_6: stage: build extends: .build only: - master script: - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="PHP_VERSION=5.6" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:5.6-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:5.6 -t ${HUB_IMAGE_PATH}:5.6-ubuntu -t ${HUB_IMAGE_PATH}:5.6 . - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.5" --build-arg="PHP_VERSION=5" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:5.6-alpine -t ${HUB_IMAGE_PATH}:5.6-alpine . - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:5.6-ubuntu - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:5.6 - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:5.6-alpine - docker image push ${HUB_IMAGE_PATH}:5.6-ubuntu - docker image push ${HUB_IMAGE_PATH}:5.6 - docker image push ${HUB_IMAGE_PATH}:5.6-alpine build_7_2: stage: build extends: .build only: - master script: - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="PHP_VERSION=7.2" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.2-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.2 -t ${HUB_IMAGE_PATH}:7.2-ubuntu -t ${HUB_IMAGE_PATH}:7.2 . - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.9" --build-arg="PHP_VERSION=7" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.2-alpine -t ${HUB_IMAGE_PATH}:7.2-alpine . - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.2-ubuntu - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.2 - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.2-alpine - docker image push ${HUB_IMAGE_PATH}:7.2-ubuntu - docker image push ${HUB_IMAGE_PATH}:7.2 - docker image push ${HUB_IMAGE_PATH}:7.2-alpine build_7_3: stage: build extends: .build only: - master script: - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="PHP_VERSION=7.3" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.3-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.3 -t ${HUB_IMAGE_PATH}:7.3-ubuntu -t ${HUB_IMAGE_PATH}:7.3 . - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.10" --build-arg="PHP_VERSION=7" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.3-alpine -t ${HUB_IMAGE_PATH}:7.3-alpine . - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.3-ubuntu - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.3 - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.3-alpine - docker image push ${HUB_IMAGE_PATH}:7.3-ubuntu - docker image push ${HUB_IMAGE_PATH}:7.3 - docker image push ${HUB_IMAGE_PATH}:7.3-alpine build_7_4: stage: build extends: .build only: - master script: - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="PHP_VERSION=7.4" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.4-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.4 -t ${HUB_IMAGE_PATH}:7.4-ubuntu -t ${HUB_IMAGE_PATH}:7.4 . - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.13" --build-arg="PHP_VERSION=7" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.4-alpine -t ${HUB_IMAGE_PATH}:7.4-alpine . - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.4-ubuntu - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.4 - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:7.4-alpine - docker image push ${HUB_IMAGE_PATH}:7.4-ubuntu - docker image push ${HUB_IMAGE_PATH}:7.4 - docker image push ${HUB_IMAGE_PATH}:7.4-alpine build_8_0: stage: build extends: .build only: - master script: - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="PHP_VERSION=8.0" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.0-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.0 -t ${HUB_IMAGE_PATH}:8.0-ubuntu -t ${HUB_IMAGE_PATH}:8.0 . - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.16" --build-arg="PHP_VERSION=8" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.0-alpine -t ${HUB_IMAGE_PATH}:8.0-alpine . - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.0-ubuntu - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.0 - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.0-alpine - docker image push ${HUB_IMAGE_PATH}:8.0-ubuntu - docker image push ${HUB_IMAGE_PATH}:8.0 - docker image push ${HUB_IMAGE_PATH}:8.0-alpine build_8_1: stage: build extends: .build only: - master script: - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="PHP_VERSION=8.1" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.1-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.1 -t ${HUB_IMAGE_PATH}:8.1-ubuntu -t ${HUB_IMAGE_PATH}:8.1 . - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.18" --build-arg="PHP_VERSION=81" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.1-alpine -t ${HUB_IMAGE_PATH}:8.1-alpine . - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.1-ubuntu - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.1 - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.1-alpine - docker image push ${HUB_IMAGE_PATH}:8.1-ubuntu - docker image push ${HUB_IMAGE_PATH}:8.1 - docker image push ${HUB_IMAGE_PATH}:8.1-alpine build_8_2: stage: build extends: .build only: - master script: - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="PHP_VERSION=8.2" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.2-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.2 -t ${HUB_IMAGE_PATH}:8.2-ubuntu -t ${HUB_IMAGE_PATH}:8.2 . - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.18" --build-arg="PHP_VERSION=81" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.2-alpine -t ${HUB_IMAGE_PATH}:8.2-alpine . - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.2-ubuntu - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.2 - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.2-alpine - docker image push ${HUB_IMAGE_PATH}:8.2-ubuntu - docker image push ${HUB_IMAGE_PATH}:8.2 - docker image push ${HUB_IMAGE_PATH}:8.2-alpine build_8_3: stage: build extends: .build only: - master script: - DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="PHP_VERSION=8.3" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.3-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.3 -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest -t ${HUB_IMAGE_PATH}:8.3-ubuntu -t ${HUB_IMAGE_PATH}:8.3 -t ${HUB_IMAGE_PATH}:latest . - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.3-ubuntu - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:8.3 - docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest - docker image push ${HUB_IMAGE_PATH}:8.3-ubuntu - docker image push ${HUB_IMAGE_PATH}:8.3 - docker image push ${HUB_IMAGE_PATH}:latest