feat: removing apiConfig.json adding it to CICD variables

- fix(ci_functions.sh/cicd): Using SH safe vars style
This commit is contained in:
Josepablo C
2025-09-08 21:39:40 -06:00
parent 84c2371f3c
commit bc7c4031cc
5 changed files with 36 additions and 79 deletions

4
.gitignore vendored
View File

@@ -2,4 +2,6 @@
**/.env **/.env
**/package-lock.json **/package-lock.json
**/migrate.js **/migrate.js
**/scripts/migrate/* **/scripts/migrate/*
v1/src/config/*.json
**/apiConfig.json

View File

@@ -6,18 +6,20 @@ stages:
variables: variables:
PIPELINE_WORK_DIR_PROD: "./v1" PIPELINE_WORK_DIR_PROD: "./v1"
PIPELINE_WORK_DIR_DEV: "./v1" PIPELINE_WORK_DIR_DEV: "./v1"
APICONFIG_BASE64_PROD: ${CICD_APICONFIG_PROD}
APICONFIG_BASE64_DEV: ${CICD_APICONFIG_DEV}
CONTAINER_NAME_PROD: "etaapi_prod" CONTAINER_NAME_PROD: "etaapi_prod"
CONTAINER_NAME_DEV: "etaapi_dev" CONTAINER_NAME_DEV: "etaapi_dev"
.generic_build_job: &generic_build_job .generic_build_job: &generic_build_job
script: script:
- cd $PIPELINE_WORK_DIR - cd ${PIPELINE_WORK_DIR}
- . ./scripts/ci_functions.sh - . ./scripts/ci_functions.sh
- build_docker $CONTAINER_NAME - build_docker ${CONTAINER_NAME} ${CICD_APICONFIG}
.generic_upload_job: &generic_upload_job .generic_upload_job: &generic_upload_job
script: script:
- cd $PIPELINE_WORK_DIR - cd ${PIPELINE_WORK_DIR}
- . ./scripts/ci_functions.sh - . ./scripts/ci_functions.sh
- upload_image - upload_image
@@ -25,8 +27,9 @@ build-prod-job:
stage: build stage: build
needs: [] needs: []
variables: variables:
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_PROD" PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_PROD}"
CONTAINER_NAME: "$CONTAINER_NAME_PROD" CONTAINER_NAME: "${CONTAINER_NAME_PROD}"
CICD_APICONFIG: "${APICONFIG_BASE64_PROD}"
only: only:
- master - master
<<: *generic_build_job <<: *generic_build_job
@@ -35,8 +38,8 @@ upload-prod-job:
stage: upload stage: upload
needs: ["build-prod-job"] needs: ["build-prod-job"]
variables: variables:
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_PROD" PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_PROD}"
CONTAINER_NAME: "$CONTAINER_NAME_PROD" CONTAINER_NAME: "${CONTAINER_NAME_PROD}"
only: only:
- master - master
<<: *generic_upload_job <<: *generic_upload_job
@@ -45,12 +48,12 @@ deploy-prod-job:
stage: deploy stage: deploy
needs: ["upload-prod-job"] needs: ["upload-prod-job"]
variables: variables:
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_PROD" PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_PROD}"
CONTAINER_NAME: "$CONTAINER_NAME_PROD" CONTAINER_NAME: "${CONTAINER_NAME_PROD}"
only: only:
- master - master
script: script:
- cd $PIPELINE_WORK_DIR - cd ${PIPELINE_WORK_DIR}
- . ./scripts/ci_functions.sh - . ./scripts/ci_functions.sh
- deploy_prod - deploy_prod
@@ -58,8 +61,9 @@ build-dev-job:
stage: build stage: build
needs: [] needs: []
variables: variables:
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_DEV" PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_DEV}"
CONTAINER_NAME: "$CONTAINER_NAME_DEV" CONTAINER_NAME: "${CONTAINER_NAME_DEV}"
CICD_APICONFIG: "${APICONFIG_BASE64_DEV}"
only: only:
- develop - develop
<<: *generic_build_job <<: *generic_build_job
@@ -68,8 +72,8 @@ upload-dev-job:
stage: upload stage: upload
needs: ["build-dev-job"] needs: ["build-dev-job"]
variables: variables:
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_DEV" PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_DEV}"
CONTAINER_NAME: "$CONTAINER_NAME_DEV" CONTAINER_NAME: "${CONTAINER_NAME_DEV}"
only: only:
- develop - develop
<<: *generic_upload_job <<: *generic_upload_job
@@ -78,11 +82,11 @@ deploy-dev-job:
stage: deploy stage: deploy
needs: ["upload-dev-job"] needs: ["upload-dev-job"]
variables: variables:
PIPELINE_WORK_DIR: "$PIPELINE_WORK_DIR_DEV" PIPELINE_WORK_DIR: "${PIPELINE_WORK_DIR_DEV}"
CONTAINER_NAME: "$CONTAINER_NAME_DEV" CONTAINER_NAME: "${CONTAINER_NAME_DEV}"
only: only:
- develop - develop
script: script:
- cd $PIPELINE_WORK_DIR - cd ${PIPELINE_WORK_DIR}
- . ./scripts/ci_functions.sh - . ./scripts/ci_functions.sh
- deploy_dev - deploy_dev

View File

@@ -10,16 +10,21 @@ CONTAINER_VERSION="latest"
function build_docker(){ function build_docker(){
#Global ENV VAR: REGISTRY_NAME #Global ENV VAR: REGISTRY_NAME
#Global ENV VAR: CONTAINER_NAME #Global ENV VAR: CONTAINER_NAME
if [[ $# -lt 1 ]]; then #Global ENV VAR: CICD_APICONFIG
echo $0 "[conatiner name]" if [[ $# -lt 2 ]]; then
echo $0 "[conatiner name] [apiconfig in base64]"
return -1 return -1
fi fi
CONTAINER_NAME=$1 CONTAINER_NAME=$1
cat src/config/apiConfig.json > src/config/apiConfig_local.json APICONFIG_BASE64=$2
echo ${APICONFIG_BASE64} > config.tmp
base64 -d config.tmp > src/config/apiConfig_local.json
rm config.tmp
set -x set -x
docker rmi -f "$REGISTRY_NAME/$CONTAINER_NAME" docker rmi -f "${REGISTRY_NAME}/${CONTAINER_NAME}"
docker buildx build --no-cache -t $REGISTRY_NAME/$CONTAINER_NAME ./ docker buildx build --no-cache -t ${REGISTRY_NAME}/${CONTAINER_NAME} ./
set +x set +x
} }
@@ -27,9 +32,9 @@ function upload_image(){
#Global ENV VAR: REGISTRY_NAME #Global ENV VAR: REGISTRY_NAME
#Global ENV VAR: CICD_REGISTRY_TOKEN #Global ENV VAR: CICD_REGISTRY_TOKEN
#Global ENV VAR: CONTAINER_NAME #Global ENV VAR: CONTAINER_NAME
docker login $REGISTRY_SERVER -u "$REGISTRY_USER" -p "$CICD_REGISTRY_TOKEN" docker login ${REGISTRY_SERVER} -u "${REGISTRY_USER}" -p "${CICD_REGISTRY_TOKEN}"
set -x set -x
docker push "$REGISTRY_NAME/$CONTAINER_NAME":$CONTAINER_VERSION docker push "${REGISTRY_NAME}/${CONTAINER_NAME}":${CONTAINER_VERSION}
set +x set +x
} }

0
v1/src/config/.gitkeep Normal file
View File

View File

@@ -1,54 +0,0 @@
{
"authentication": {
"pwdSecret":"Nx2g_IWo2Zt_LS$+",
"jwtSecret":"9o3BBz0EsrwXliwEJ/SFuywZoN8=",
"jwtTimeout":24,
"jwtRenewalTimeout":720,
"tokenSecret":"9Z'jMt|(h_f(&/S+zv.K",
"jwtOptions": {
"header": {
"typ": "access"
},
"audience": "https://www.etaviaporte.com",
"issuer": "etaviaporte",
"algorithm": "HS256",
"expiresIn": "1d"
}
},
"version" : {
"version" : "1.5.11",
"name": "ETA Beta",
"date":"22/07/2025"
},
"S3" : {
"bucket": "etaviaporte",
"load_attachments_key":"loadattachments",
"news_key":"news",
"driver":{
"minio":{
"endPoint": "api.minio.cloud.etaviaporte.com",
"port": 443,
"useSSL": true,
"accessKey": "Ygw68RydX2mvktAwjFEj",
"secretKey": "FERMPPXAu68YWgu4enWUeZPINRcjIrhw8BaQM6ur"
}
}
},
"sendgrid" : {
"HOST": "smtp.sendgrid.net",
"PORT": "465",
"username": "apikey",
"API_KEY": "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",
"FROM": "noreply@etaviaporte.com"
},
"email_standalone" : {
"host": "smtp.hostinger.com",
"port": "465",
"secure": true,
"auth": {
"user": "noreply@etaviaporte.com",
"pass": "-)WJt[oP~P$`76Q4"
}
},
"mongodb": "mongodb+srv://enruta_admin:NeptFx4RUZG8OsfA@enruta.vwofshy.mongodb.net/enrutaviaporte?retryWrites=true&w=majority"
}