diff --git a/components/bigquery/query/build_image.sh b/components/bigquery/query/build_image.sh index 580adc69721..8442b9c1353 100755 --- a/components/bigquery/query/build_image.sh +++ b/components/bigquery/query/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-bigquery-query - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} "${IMAGE_NAME}" - docker push "${IMAGE_NAME}" -fi +../../build_image.sh -l ml-pipeline-bigquery-query "$@" diff --git a/components/build_image.sh b/components/build_image.sh new file mode 100755 index 00000000000..5a080aac198 --- /dev/null +++ b/components/build_image.sh @@ -0,0 +1,59 @@ +#!/bin/bash -e +# Copyright 2018 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +while getopts ":hp:t:i:l:" opt; do + case "${opt}" in + h) echo "-p: project name" + echo "-t: tag name" + echo "-i: image name. If provided, project name and tag name are not necessary" + echo "-l: local image name." + exit + ;; + p) PROJECT_ID=${OPTARG} + ;; + t) TAG_NAME=${OPTARG} + ;; + i) IMAGE_NAME=${OPTARG} + ;; + l) LOCAL_IMAGE_NAME=${OPTARG} + ;; + \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image [-l] local image" + exit + ;; + esac +done + +if [ -z "${PROJECT_ID}" ]; then + PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") +fi + +if [ -z "${TAG_NAME}" ]; then + TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) +fi + +if [ -z "${IMAGE_NAME}" ]; then + docker pull gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:latest || true +fi + +docker build -t ${LOCAL_IMAGE_NAME} . --cache-from gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:latest +if [ -z "${IMAGE_NAME}" ]; then + docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} + docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:latest + docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} + docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:latest +else + docker tag ${LOCAL_IMAGE_NAME} "${IMAGE_NAME}" + docker push "${IMAGE_NAME}" +fi diff --git a/components/dataflow/predict/build_image.sh b/components/dataflow/predict/build_image.sh index 128420445a5..a25457fa10f 100755 --- a/components/dataflow/predict/build_image.sh +++ b/components/dataflow/predict/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataflow-tf-predict - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} ${IMAGE_NAME} - docker push ${IMAGE_NAME} -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataflow-tf-predict "$@" \ No newline at end of file diff --git a/components/dataflow/tfdv/build_image.sh b/components/dataflow/tfdv/build_image.sh index 01c8c47ff97..2880ee43b16 100755 --- a/components/dataflow/tfdv/build_image.sh +++ b/components/dataflow/tfdv/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataflow-tfdv - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} "${IMAGE_NAME}" - docker push "${IMAGE_NAME}" -fi +../../build_image.sh -l ml-pipeline-dataflow-tfdv "$@" diff --git a/components/dataflow/tfma/build_image.sh b/components/dataflow/tfma/build_image.sh index 097b8ec2fde..464d942f4b5 100755 --- a/components/dataflow/tfma/build_image.sh +++ b/components/dataflow/tfma/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataflow-tfma - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} "${IMAGE_NAME}" - docker push "${IMAGE_NAME}" -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataflow-tfma "$@" diff --git a/components/dataflow/tft/build_image.sh b/components/dataflow/tft/build_image.sh index f562b2ea2ca..e260152bd52 100755 --- a/components/dataflow/tft/build_image.sh +++ b/components/dataflow/tft/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataflow-tft - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} "${IMAGE_NAME}" - docker push "${IMAGE_NAME}" -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataflow-tft "$@" \ No newline at end of file diff --git a/components/dataproc/analyze/build_image.sh b/components/dataproc/analyze/build_image.sh index 64bfbad9500..78885ef5a48 100755 --- a/components/dataproc/analyze/build_image.sh +++ b/components/dataproc/analyze/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataproc-analyze - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} ${IMAGE_NAME} - docker push ${IMAGE_NAME} -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataproc-analyze "$@" diff --git a/components/dataproc/create_cluster/build_image.sh b/components/dataproc/create_cluster/build_image.sh index 9998ec2e4a8..019956c832a 100755 --- a/components/dataproc/create_cluster/build_image.sh +++ b/components/dataproc/create_cluster/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataproc-create-cluster - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} ${IMAGE_NAME} - docker push ${IMAGE_NAME} -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataproc-create-cluster "$@" diff --git a/components/dataproc/delete_cluster/build_image.sh b/components/dataproc/delete_cluster/build_image.sh index c0afdcd9c19..8de7d5347d4 100755 --- a/components/dataproc/delete_cluster/build_image.sh +++ b/components/dataproc/delete_cluster/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataproc-delete-cluster - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} ${IMAGE_NAME} - docker push ${IMAGE_NAME} -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataproc-delete-cluster "$@" diff --git a/components/dataproc/predict/build_image.sh b/components/dataproc/predict/build_image.sh index 457dd788075..91aaa333830 100755 --- a/components/dataproc/predict/build_image.sh +++ b/components/dataproc/predict/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataproc-predict - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} ${IMAGE_NAME} - docker push ${IMAGE_NAME} -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataproc-predict "$@" diff --git a/components/dataproc/train/build_image.sh b/components/dataproc/train/build_image.sh index e8ae37f3c25..50717458e8e 100755 --- a/components/dataproc/train/build_image.sh +++ b/components/dataproc/train/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataproc-train - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} ${IMAGE_NAME} - docker push ${IMAGE_NAME} -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataproc-train "$@" diff --git a/components/dataproc/transform/build_image.sh b/components/dataproc/transform/build_image.sh index e48d7afa016..b9ce83da423 100755 --- a/components/dataproc/transform/build_image.sh +++ b/components/dataproc/transform/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-dataproc-transform - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} ${IMAGE_NAME} - docker push ${IMAGE_NAME} -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-dataproc-transform "$@" diff --git a/components/local/confusion_matrix/build_image.sh b/components/local/confusion_matrix/build_image.sh index c9d2d3ad71a..09479eaed5f 100755 --- a/components/local/confusion_matrix/build_image.sh +++ b/components/local/confusion_matrix/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-local-confusion-matrix - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} "${IMAGE_NAME}" - docker push "${IMAGE_NAME}" -fi +../../build_image.sh -l ml-pipeline-local-confusion-matrix "$@" diff --git a/components/local/roc/build_image.sh b/components/local/roc/build_image.sh index f7b304dbcce..6d675050692 100755 --- a/components/local/roc/build_image.sh +++ b/components/local/roc/build_image.sh @@ -13,45 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -while getopts ":hp:t:i:" opt; do - case "${opt}" in - h) echo "-p: project name" - echo "-t: tag name" - echo "-i: image name. If provided, project name and tag name are not necessary" - exit - ;; - p) PROJECT_ID=${OPTARG} - ;; - t) TAG_NAME=${OPTARG} - ;; - i) IMAGE_NAME=${OPTARG} - ;; - \? ) echo "Usage: cmd [-p] project [-t] tag [-i] image" - exit - ;; - esac -done - -LOCAL_IMAGE_NAME=ml-pipeline-local-roc - -if [ -z "${PROJECT_ID}" ]; then - PROJECT_ID=$(gcloud config config-helper --format "value(configuration.properties.core.project)") -fi - -if [ -z "${TAG_NAME}" ]; then - TAG_NAME=$(date +v%Y%m%d)-$(git describe --tags --always --dirty)-$(git diff | shasum -a256 | cut -c -6) -fi - # build base image pushd ../base ./build_image.sh popd -docker build -t ${LOCAL_IMAGE_NAME} . -if [ -z "${IMAGE_NAME}" ]; then - docker tag ${LOCAL_IMAGE_NAME} gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} - docker push gcr.io/${PROJECT_ID}/${LOCAL_IMAGE_NAME}:${TAG_NAME} -else - docker tag ${LOCAL_IMAGE_NAME} ${IMAGE_NAME} - docker push ${IMAGE_NAME} -fi \ No newline at end of file +../../build_image.sh -l ml-pipeline-local-roc "$@"