#! /bin/bash REGISTRY_USER="registry" REGISTRY_NAME="registry.cloud.etaviaporte.com" REGISTRY_SERVER="registry.cloud.etaviaporte.com" CONTAINER_VERSION="latest" # Requirements # Docker: Node v18-alpine function build_docker(){ #Global ENV VAR: REGISTRY_NAME #Global ENV VAR: CONTAINER_NAME #Global ENV VAR: CICD_APICONFIG if [[ $# -lt 2 ]]; then echo $0 "[conatiner name] [apiconfig in base64]" return -1 fi CONTAINER_NAME=$1 APICONFIG_BASE64=$2 if [[ -z "${APICONFIG_BASE64}" ]]; then echo "APICONFIG not found" return -1 fi echo ${APICONFIG_BASE64} > config.tmp base64 -d config.tmp > src/config/apiConfig.json rm config.tmp set -x docker rmi -f "${REGISTRY_NAME}/${CONTAINER_NAME}" docker buildx build --no-cache -t ${REGISTRY_NAME}/${CONTAINER_NAME} ./ set +x } function upload_image(){ #Global ENV VAR: REGISTRY_NAME #Global ENV VAR: CICD_REGISTRY_TOKEN #Global ENV VAR: CONTAINER_NAME docker login ${REGISTRY_SERVER} -u "${REGISTRY_USER}" -p "${CICD_REGISTRY_TOKEN}" set -x docker push "${REGISTRY_NAME}/${CONTAINER_NAME}":${CONTAINER_VERSION} set +x } function deploy_prod(){ #Global ENV VAR: CICD_API_PROD_WEBHOOK set -x curl -X POST "${CICD_API_PROD_WEBHOOK}" set +x } function deploy_dev(){ #Global ENV VAR: CICD_API_DEV_WEBHOOK set -x curl -X POST "${CICD_API_DEV_WEBHOOK}" set +x }