59 lines
1.4 KiB
Bash
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
|
|
}
|