React: Modernizar el proceso de lanzamiento

Creado en 29 abr. 2016  ·  3Comentarios  ·  Fuente: facebook/react

Es demasiado trabajo hacer un lanzamiento de React en este momento. En este punto, para mí es principalmente memoria muscular, pero debería ser fácil para cualquiera hacerlo. Históricamente, mantuve ciertos pasos manuales porque arruiné las cosas y quería poder hacer una pausa y verificar dos veces.

Hay algunas cosas que contribuyen a la dificultad:

  • uso del repositorio de react-bower como el primer objetivo de empuje

    • que es el resultado de la generación de enlaces fb.me / CDNización que debe ocurrir en la infraestructura interna de FB

  • pasos manuales a través de múltiples repositorios
  • modificación de la versión manual
  • activos que deben estar en varios lugares, copiados entre sucursales

Algunas ideas:

  • deberíamos ser capaces de diferenciar entre lanzamientos preliminares y finales. Debería ser un solo comando para enviar un nuevo alfa en cualquier punto y deberían ser livianos.
  • las versiones finales necesitan un poco más, ya que las personas las instalarán de forma predeterminada y tienen requisitos adicionales (por ejemplo, registros de cambios, activos en varios lugares)
  • npm run release que luego hace todas las cosas. Podría ser un proceso interactivo.
  • comience a usar las API de versiones de GitHub para almacenar activos de compilación, eliminando pasos
  • configure cdn.reactjs.org y simplemente aloje nuestras compilaciones allí, descartando fb.me por completo (riesgo, tenemos que ejecutar esto para siempre...)

    • alternativas: trabaje con CDN existentes y asegúrese de que podamos tener versiones implementadas en el comando (la actualización automática basada en extracción puede provocar demoras, cosas como jsfiddle, nuestro tutorial necesita activos disponibles de inmediato)

  • investigue lerna, podría ser útil con los múltiples paquetes que tenemos, aunque idealmente queremos desenredar los lanzamientos
Build Infrastructure

Comentario más útil

Parece que estamos en un buen lugar ahora.
(Gracias @bvaughn)

Todos 3 comentarios

alternativas: trabaje con CDN existentes y asegúrese de que podamos tener versiones implementadas en el comando (la actualización automática basada en extracción puede provocar demoras, cosas como jsfiddle, nuestro tutorial necesita activos disponibles de inmediato)

Con Redux, hemos estado dirigiendo a las personas a http://npmcdn.com de @mjackson.

Gracias por la mención, @gaearon. Le he estado dando pistas a @zpao por un tiempo ahora que me gustaría que le diera una oportunidad a npmcdn . ;)

Atendemos más de 100 millones de solicitudes el mes pasado de más de 16 millones de visitantes únicos, por lo que podemos estar listos para manejar el tipo de tráfico que React nos ofrece. Actualmente estoy trabajando para obtener algunos patrocinadores y términos de servicio para que las personas puedan saber qué pueden esperar de él.

En cuanto a los retrasos, actualmente indicamos a nuestra CDN (CloudFlare) que almacene en caché las redirecciones durante 5 minutos. Entonces, por ejemplo, una solicitud de https://npmcdn.com/react@15/dist/react.min.js redirigirá a la última versión como máximo 5 minutos después de que se envíe a npm.

Parece que estamos en un buen lugar ahora.
(Gracias @bvaughn)

¿Fue útil esta página
0 / 5 - 0 calificaciones