41 lines
1.1 KiB
Bash
Executable File
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-apiserver:"${TAG}" .
|
|
|
|
if [[ -z "${DRY_RUN:-}" ]]; then
|
|
${CONTAINER_CLI} push "${REPO}"/ks-apiserver:"${TAG}"
|
|
${CONTAINER_CLI} push "${REPO}"/ks-controller-manager:"${TAG}"
|
|
fi
|