Files
kubesphere/hack/docker_build.sh
yuswift 04645180c4 fix shellcheck typo
Signed-off-by: yuswift <yuswift2018@gmail.com>
2021-07-15 12:14:35 +08:00

41 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -ex
set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh"
# push to kubesphere with default latest tag
TAG=${TAG:-latest}
REPO=${REPO:-kubesphere}
# If set, just building, no pushing
DRY_RUN=${DRY_RUN:-}
# support other container tools. e.g. podman
CONTAINER_CLI=${CONTAINER_CLI:-docker}
CONTAINER_BUILDER=${CONTAINER_BUILDER:-build}
# use host os and arch as default target os and arch
TARGETOS=${TARGETOS:-$(kube::util::host_os)}
TARGETARCH=${TARGETARCH:-$(kube::util::host_arch)}
${CONTAINER_CLI} "${CONTAINER_BUILDER}" \
--build-arg TARGETARCH="${TARGETARCH}" \
--build-arg TARGETOS="${TARGETOS}" \
-f build/ks-apiserver/Dockerfile \
-t "${REPO}"/ks-apiserver:"${TAG}" .
${CONTAINER_CLI} "${CONTAINER_BUILDER}" \
--build-arg "TARGETARCH=${TARGETARCH}" \
--build-arg "TARGETOS=${TARGETOS}" \
-f build/ks-controller-manager/Dockerfile \
-t "${REPO}"/ks-controller-manager:"${TAG}" .
if [[ -z "${DRY_RUN:-}" ]]; then
${CONTAINER_CLI} push "${REPO}"/ks-apiserver:"${TAG}"
${CONTAINER_CLI} push "${REPO}"/ks-controller-manager:"${TAG}"
fi