From: Jérôme Benoit Date: Sat, 19 Nov 2022 11:21:05 +0000 (+0100) Subject: Merge branch 'main' of https://github.tools.sap/E-Mobility/mbt-docker into multiple... X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=d073673664901502fa004021cf25684e601eb131;hp=fdcb62cca419a01925df36de5e0df038f2e7e9d7;p=mbt-docker.git Merge branch 'main' of https://github.tools.sap/E-Mobility/mbt-docker into multiple-images --- diff --git a/Makefile b/Makefile index 3d0ffc8..d181f73 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ PROJECT_NAME?=sap-e-mobility -NAME?=mbt-docker +NAME?=mbt-node16-java11-docker SUBMODULES_INIT?=false DOCKER_REGISTRY_USERNAME?=fraggle0 DOCKER_REGISTRY_PASSWORD?= diff --git a/build-image.sh b/build-image.sh new file mode 100755 index 0000000..15b2d72 --- /dev/null +++ b/build-image.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env sh + +shopt -s extglob + +images="mbt-node14-java11-docker mbt-node16-java11-docker mbt-node18-java11-docker \ + mbt-node14-java17-docker mbt-node16-java17-docker mbt-node18-java17-docker \ + mbt-node14-java19-docker mbt-node16-java19-docker mbt-node18-java19-docker" + +repositories="mbt-node14-java11-docker mbt-node16-java11-docker mbt-node18-java11-docker \ + mbt-node14-java17-docker mbt-node16-java17-docker mbt-node18-java17-docker \ + mbt-node14-java19-docker mbt-node16-java19-docker mbt-node18-java19-docker" + +usage() { + echo " Build docker images. + + Usage: + ./$(basename $0) [-b ] + ./$(basename $0) [-p ] + ./$(basename $0) [-c] + ./$(basename $0) [-h] + + Options: + -h Show this help. + -b <${images//+([[:space:]])/|}|all> Build docker images. + -p <${repositories//+([[:space:]])/|}|all> Push docker images. + -c Clean docker images." 1>&2; exit 1; +} + +build_all() { + for image in ${images}; do + make NAME=${image} + done +} + +push_all() { + for repository in ${repositories}; do + make docker-push-registry NAME=${repository} + done +} + +[ $# -eq 0 ] && usage +while getopts ":b:p:ch" option; do + case "${option}" in + b) + name=${OPTARG} + if [[ ${name} == "all" ]]; then + build_all + elif [[ -z "${images##*$name*}" ]]; then + make NAME=${name} + else + echo "Error: Unknown image name as option argument '${OPTARG}'" >&2; + usage + fi + ;; + p) + repository=${OPTARG} + if [[ ${repository} == "all" ]]; then + push_all + elif [[ -z "${repositories##*$repository*}" ]]; then + make docker-push-registry NAME=${repository} + else + echo "Error: Unknown repository name as option argument '${OPTARG}'" >&2; + usage + fi + ;; + c) + make dist-clean + ;; + :) + echo "Error: Missing option argument for '-${OPTARG}'" >&2; + usage + ;; + \?) + # Invalid option + echo "Error: Unknown or invalid option for '-${OPTARG}'" >&2; + usage + ;; + *|h) + usage + ;; + esac +done diff --git a/docker-compose.yml b/docker-compose.yml index e27e772..947c14b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,70 @@ version: '3.8' services: + # TODO: remove once xmake is configured to push all images mbt-docker: platform: linux/amd64 build: dockerfile: Dockerfile + mbt-node18-java11-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 18.12.1 + SAPMACHINE_VERSION: 11.0.17 + dockerfile: Dockerfile + mbt-node16-java11-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 16.18.1 + SAPMACHINE_VERSION: 11.0.17 + dockerfile: Dockerfile + mbt-node14-java11-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 14.21.1 + SAPMACHINE_VERSION: 11.0.17 + dockerfile: Dockerfile + mbt-node18-java17-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 18.12.1 + SAPMACHINE_VERSION: 17.0.5 + dockerfile: Dockerfile + mbt-node16-java17-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 16.18.1 + SAPMACHINE_VERSION: 17.0.5 + dockerfile: Dockerfile + mbt-node14-java17-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 14.21.1 + SAPMACHINE_VERSION: 17.0.5 + dockerfile: Dockerfile + mbt-node18-java19-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 18.12.1 + SAPMACHINE_VERSION: 19.0.1 + dockerfile: Dockerfile + mbt-node16-java19-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 16.18.1 + SAPMACHINE_VERSION: 19.0.1 + dockerfile: Dockerfile + mbt-node14-java19-docker: + platform: linux/amd64 + build: + args: + NODE_VERSION: 14.21.1 + SAPMACHINE_VERSION: 19.0.1 + dockerfile: Dockerfile