From c9252214846e754d1d3d8ca1fcbd7eca67ecdd4b Mon Sep 17 00:00:00 2001 From: Andrei Jiroh Halili Date: Sat, 31 Aug 2024 18:50:07 +0000 Subject: [PATCH] chore(scripts): update build script and add publish-to-staging for future use Signed-off-by: Andrei Jiroh Halili --- scripts/build | 15 ++++++++++++--- scripts/publish-to-staging | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 scripts/publish-to-staging diff --git a/scripts/build b/scripts/build index f3d763b..eeaf7fd 100755 --- a/scripts/build +++ b/scripts/build @@ -8,22 +8,31 @@ if [[ $DEBUG != "" ]]; then fi main() { + echo "command args: $*" DOCKER_BUILD_ARGS=${DOCKER_BUILD_ARGS:-} GIT_ROOT_TMP=$(git rev-parse --show-toplevel) GIT_ROOT=${GIT_ROOT:-"$GIT_ROOT_TMP"} DOCKER_BUILDKIT=${DOCKER_BUILDKIT:-"1"} BUILD_DIR="docker/${1}" - DOCKER_IMAGE_NAME=${2:-"dock.mau.dev/andreijiroh-dev/docker-images/${1}"} + CUSTOM_DOCKERFILE=${2:-""} + DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-"dock.mau.dev/andreijiroh-dev/docker-images/${1}"} if [[ ! -d "${GIT_ROOT}/${BUILD_DIR}" ]]; then echo "error: ${BUILD_DIR} does not exist here" return 1 fi - docker build -f "${GIT_ROOT}/${BUILD_DIR}/Dockerfile" \ + if [[ ${CUSTOM_DOCKERFILE} != "" ]]; then + DOCKERFILE="${GIT_ROOT}/${BUILD_DIR}/${CUSTOM_DOCKERFILE}.Dockerfile" + else + DOCKERFILE="${GIT_ROOT}/${BUILD_DIR}/Dockerfile" + fi + + docker build -f "${DOCKERFILE}" \ -t "${DOCKER_IMAGE_NAME}:localdev" \ + --build-arg BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 \ ${DOCKER_BUILD_ARGS} \ "${GIT_ROOT}/${BUILD_DIR}" } -main "$*" \ No newline at end of file +main $* \ No newline at end of file diff --git a/scripts/publish-to-staging b/scripts/publish-to-staging new file mode 100644 index 0000000..bcf1334 --- /dev/null +++ b/scripts/publish-to-staging @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -e + +if [[ $DEBUG != "" ]]; then + set -x +fi +OLD_IMAGE_NAME=${1} +NEW_IMAGE_NAME=${2} + +main() { + TIMESTAMP=$(date +%s) + docker tag "${OLD_IMAGE_NAME}" "${NEW_IMAGE_NAME}:snapshot-$TIMESTAMP" + docker push "${NEW_IMAGE_NAME}:snapshot-$TIMESTAMP" +} \ No newline at end of file -- 2.51.2