Files
ETAApi/v1/scripts/ci_functions.sh
2025-09-08 22:11:15 -06:00

59 lines
1.4 KiB
Bash

#! /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
}