Subir tu carpeta
Desplegá código que no está en GitHub subiendo un .tar.gz de tu carpeta, desde tu agente, un script o tu CI.
Una app con código subido no está atada a ningún repositorio: le mandás un .tar.gz de tu carpeta y Olimpia lo construye y lo publica. Es la forma que usan los agentes por defecto, y la que conviene cuando desplegás desde tu propio CI.
El flujo
Los ejemplos usan un token personal en $OLIMPIA_TOKEN.
Creá la app
Las apps con código subido se crean desde tu agente o desde la API. Buscá el id de tu proyecto con GET /projects.
curl -fsS -X POST -H "Authorization: Bearer $OLIMPIA_TOKEN" \
-H "content-type: application/json" \
-d '{"project_id": "<id del proyecto>", "name": "mi-api", "source": "upload", "port": 3000}' \
https://api.olimpia.dev/appsGuardá el id de la respuesta en $APP_ID.
Pedí una URL de subida
Cada subida usa una URL firmada que vence a los 15 minutos.
curl -fsS -X POST -H "Authorization: Bearer $OLIMPIA_TOKEN" \
https://api.olimpia.dev/apps/$APP_ID/sourceLa respuesta trae upload_url y key.
Empaquetá y subí la carpeta
Desde la raíz de tu proyecto, con git:
git add -A && ref=$(git stash create)
git archive --format=tar.gz --prefix=src/ -o /tmp/src.tar.gz "${ref:-HEAD}"
curl -fsS -X PUT -T /tmp/src.tar.gz "$UPLOAD_URL"Esto incluye los cambios sin commitear, respeta .gitignore y no crea commits ni stashes.
Desplegá
curl -fsS -X POST -H "Authorization: Bearer $OLIMPIA_TOKEN" \
-H "content-type: application/json" \
-d "{\"source\": \"$KEY\", \"message\": \"primer deploy\"}" \
https://api.olimpia.dev/apps/$APP_ID/deploymentsRequisitos del archivo
- Un
.tar.gzcon todos los archivos dentro de una sola carpeta de primer nivel (por eso el--prefix=src/). - Hasta 300 MB.
- Sin
node_modules, carpetas de build, entornos virtuales ni archivos.env. Si no usás git, excluilos a mano:
tar --exclude=node_modules --exclude=.git --exclude='.env*' --exclude=dist \
--exclude=build --exclude=.next --exclude=target --exclude=.venv \
-czf /tmp/src.tar.gz --transform 's,^\.,src,' .
Volver a construir
Un deploy sin source reconstruye la última subida. Sirve para aplicar variables de entorno nuevas sin subir el código otra vez.
Monorepos
Subí el repositorio entero y configurá la Carpeta raíz de la app (por ejemplo apps/web).
Retención
Olimpia guarda la última subida de cada app y borra las anteriores al día siguiente. Al borrar la app, se borran todas.