Directorio local
Despliega código directamente desde tu máquina con la CLI, sin hacer push a Git antes. Zenavo compila lo subido exactamente igual que un repositorio: con su Dockerfile, o con zbpack si no lo hay.
cd my-app
zenavo deploy web --dir .La CLI empaqueta el directorio, lo sube como origen del servicio y sigue la compilación. Ejecuta el mismo comando otra vez para desplegar una versión nueva.
Qué servicio
zenavo deploy <service> --dir .sube a ese servicio. Si el proyecto no tiene un servicio con ese nombre, se crea.- Sin nombre de servicio, se usa el único servicio del proyecto. En un proyecto sin servicios se crea uno con el nombre del directorio; con varios, la CLI pregunta (o pasa
--service).
Un servicio nuevo recibe un puerto HTTP de --port, del puerto que detecta el plan de compilación (EXPOSE en un Dockerfile) o el 8080, el puerto en el que escuchan las imágenes de zbpack. Dale un dominio después con zenavo domain add.
Un servicio existente conserva su directorio raíz, la ruta del Dockerfile, los argumentos de compilación y las opciones de zbpack. Su origen Git o de imagen se sustituye por lo subido y se desactiva el despliegue automático. Vuelve a un repositorio en los Settings del servicio.
Qué se sube
Nunca: .git, .hg, .svn ni .DS_Store.
Si el directorio tiene un .zenavoignore (sintaxis de .gitignore), solo él decide qué más se excluye. Si no, la CLI excluye node_modules, los entornos virtuales de Python, __pycache__ y los archivos .env (salvo .env.example), además de todo lo que listen el .gitignore y el .dockerignore del directorio. Las dependencias se vuelven a instalar durante la compilación; guarda los secretos como variables.
Lo subido está limitado a 500 MB comprimidos y 2 GB descomprimidos. Los enlaces simbólicos deben quedarse dentro del directorio: la CLI excluye los que apuntan fuera y avisa de ellos.
Dónde se guarda lo subido
Lo subido se guarda en el plano de control y solo lo pueden leer las compilaciones de tu equipo. Las subidas anteriores de un servicio se borran cuando la nueva tiene una hora, y todas con el proyecto. Las reversiones no las necesitan: la imagen de cada despliegue se conserva en el registro.