Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,13 @@ jobs:
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SERVER_SSH_KEY }}
port: '22'
envs: DB_URL,DB_USER,DB_PASSWORD,JWT_SECRET_KEY,JWT_EXPIRATION,SWAGGER_ENABLED,APP_PORT,REGISTRY,REGISTRY_USERNAME,REGISTRY_TOKEN,CONTAINER_NAME,IMAGE_NAME,IMAGE_TAG,CORS_ALLOWED_ORIGINS,SWAGGER_ENABLED,DOMAIN
envs: DB_URL,DB_USER,DB_PASSWORD,JWT_SECRET_KEY,JWT_EXPIRATION,SWAGGER_ENABLED,APP_PORT,REGISTRY,REGISTRY_USERNAME,REGISTRY_TOKEN,CONTAINER_NAME,IMAGE_NAME,IMAGE_TAG,CORS_ALLOWED_ORIGINS,DOMAIN
script: |
set -euo pipefail

IMAGE="${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}"

# Normaliza IMAGE_NAME: minúsculas y sin espacios extremos
IMAGE_NAME_NORM="$(echo "${IMAGE_NAME}" | tr '[:upper:]' '[:lower:]' | xargs)"
IMAGE="${REGISTRY}/${IMAGE_NAME_NORM}:${IMAGE_TAG}"

echo "Iniciando sesión en el registro ${REGISTRY}..."
echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" -u "${REGISTRY_USERNAME}" --password-stdin
Expand All @@ -55,7 +57,7 @@ jobs:

echo "Deteniendo y removiendo contenedor previo (si existe)..."
docker rm -f "${CONTAINER_NAME}" || true

echo "Levantando contenedor..."
docker run -d --name "${CONTAINER_NAME}" \
-p "${APP_PORT}:${APP_PORT}" \
Expand All @@ -67,15 +69,14 @@ jobs:
-e JWT_EXPIRATION="${JWT_EXPIRATION}" \
-e SWAGGER_ENABLED="${SWAGGER_ENABLED}" \
-e CORS_ALLOWED_ORIGINS="${CORS_ALLOWED_ORIGINS}" \
-e SWAGGER_ENABLED="${SWAGGER_ENABLED}" \
-e DOMAIN="${DOMAIN}" \
-e DOMAIN="${DOMAIN}" \
--restart unless-stopped \
"${IMAGE}"

echo "Eliminando imágenes no utilizadas..."
docker image prune -af || true

# Opcional: liberar caché del builder si existiera
docker builder prune -af || true

echo "Despliegue completado."