Esta guía es para operadores de sitios: personas que ejecutan un sitio construido con EmDash y quieren actualizarlo a una versión más reciente. Cubre el paquete emdash y @emdash-cms/cloudflare. Los paquetes de plugins tienen su propia guía, Upgrading plugins on your site, y los cambios en sus propias colecciones y campos se cubren en Evolving a Deployed Site.
Lanzamientos y números de versión
EmDash se publica antes de la versión 1.0, y sus números de versión siguen dos reglas:
- Un lanzamiento de parche, por ejemplo de 0.35.0 a 0.35.1, incluye correcciones de errores y pequeñas mejoras.
- Un lanzamiento menor, por ejemplo de 0.35 a 0.36, incluye nuevas funcionalidades y cualquier cambio incompatible. Un cambio incompatible se marca con Breaking en su entrada de lanzamiento, y la entrada indica la acción que requiere de usted.
emdash y @emdash-cms/cloudflare se publican juntos y comparten un número de versión. @emdash-cms/cloudflare depende de la versión exacta correspondiente de emdash, así que actualice ambos paquetes en un solo paso. Los paquetes de plugins como @emdash-cms/plugin-forms tienen sus propios números de versión y declaran la versión mínima de emdash que necesitan.
La página de lanzamientos tiene una entrada por paquete y versión. Antes de actualizar, lea las entradas de emdash entre su versión instalada y el objetivo, y el mismo rango para @emdash-cms/cloudflare si el sitio se ejecuta en Cloudflare.
Antes de actualizar
Realice una copia de seguridad. Las migraciones del núcleo que una nueva versión aplica a la base de datos no tienen paso de deshacer, por lo que una copia de seguridad es la única forma de volver al estado anterior. Backups describe las opciones para cada base de datos.
Verifique la versión de Node.js en la máquina que construye el sitio y, para un despliegue en Node.js, en el servidor. Getting Started lista las versiones soportadas.
Actualizar los paquetes
Los comandos a continuación usan pnpm y un sitio creado desde una plantilla de Cloudflare. Para un despliegue en Node.js, omita @emdash-cms/cloudflare.
-
Verifique las versiones instaladas y el último lanzamiento.
pnpm outdated emdash @emdash-cms/cloudflare -
Lleve ambos paquetes al último lanzamiento.
Un
package.jsongenerado por plantilla lista los paquetes con un rango caret como^0.35.0. Para versiones por debajo de 1.0, un rango caret admite solo lanzamientos de parche (0.35.1, no 0.36.0), ypnpm upsin más opciones se mantiene dentro del rango. La bandera--latestreescribe el rango al lanzamiento más reciente y lo instala.pnpm up --latest emdash @emdash-cms/cloudflareAgregue los paquetes de plugins de su
package.jsonal mismo comando. -
Construya el sitio.
pnpm buildEl build escribe el manifiesto de migración para la versión instalada. Si el build falla, consulte Si el sitio se rompe después de una actualización.
-
Inicie el sitio localmente y abra el admin en
/_emdash/admin.pnpm devLa integración EmDash genera
emdash-env.d.tscuando el servidor de desarrollo se inicia. Las migraciones del núcleo pendientes se ejecutan en la primera solicitud.
Desplegar y verificar
Despliegue el build de la misma manera que cualquier otro cambio. El siguiente comando despliega un sitio de Cloudflare; para un despliegue en Node.js, reinicie el proceso del servidor con el nuevo build.
pnpm wrangler deploy
Con el modo de migración en tiempo de ejecución predeterminado, auto, el sitio desplegado aplica las migraciones del núcleo pendientes en su primera solicitud. Para aplicarlas antes de que el nuevo código reciba tráfico, y para verificar la base de datos desplegada después, siga Manage Core Database Migrations. Su comando emdash migrate --check sale con código distinto de cero cuando la base de datos desplegada tiene migraciones pendientes o desconocidas para la versión instalada.
Después del despliegue, abra el admin y una página pública del sitio.
Si el sitio se rompe después de una actualización
- El build falla, o una página propia da error en tiempo de ejecución: lea las entradas de lanzamiento marcadas con Breaking para las versiones que omitió y realice los cambios indicados.
- Un plugin no se carga: lea la entrada de lanzamiento propia del plugin y Upgrading plugins on your site.
- Un error nombra una API de Astro o un paquete
@astrojs/*: EmDash requiere Astro 6 o posterior. La guía de actualización de Astro explica cómo actualizarastroy sus integraciones oficiales juntos. - Para volver al lanzamiento anterior, reinstale las versiones anteriores de los paquetes. Reinstalar no deshace las migraciones del núcleo; si el lanzamiento anterior falla contra la base de datos migrada, restaure la copia de seguridad tomada antes de la actualización.