React: Moderniser le processus de publication

Créé le 29 avr. 2016  ·  3Commentaires  ·  Source: facebook/react

C'est beaucoup trop de travail pour faire une version React en ce moment. C'est principalement de la mémoire musculaire pour moi à ce stade, mais cela devrait être facile pour n'importe qui de le faire. Historiquement, j'ai gardé certaines étapes manuelles parce que j'ai foiré les choses et que je voulais pouvoir faire une pause et revérifier.

Il y a quelques éléments qui contribuent à la difficulté :

  • utilisation de rea-bower repo comme première cible push

    • qui est le résultat de la génération de liens fb.me / CDNisation devant se produire sur l'infra FB interne

  • étapes manuelles sur plusieurs dépôts
  • modification de version manuelle
  • actifs devant se trouver à plusieurs endroits, copiés dans toutes les succursales

Quelques idées :

  • nous devrions être en mesure de faire la différence entre les pré-versions et les versions finales. Cela devrait être une seule commande pour expédier un nouvel alpha à tout moment et ils devraient être légers.
  • les versions finales ont besoin d'un peu plus car elles seront installées par défaut par des personnes et auront des exigences supplémentaires (par exemple, journaux des modifications, actifs à plusieurs endroits)
  • npm run release qui fait alors tout. Il pourrait s'agir d'un processus interactif
  • commencer à utiliser les API des versions GitHub pour stocker les actifs de construction, en éliminant les étapes
  • configurez cdn.reactjs.org et hébergez simplement nos builds là-bas, en supprimant complètement fb.me (risque, nous devons exécuter cela pour toujours…)

    • alternatives : travaillez avec les CDN existants et assurez-vous que nous pouvons avoir des versions déployées sur commande (la mise à jour automatique basée sur le pull peut entraîner des retards, des choses comme jsfiddle, notre tutoriel a besoin d'actifs disponibles immédiatement)

  • enquêter sur lerna, pourrait être utile avec les multiples packages que nous avons, bien que nous souhaitions idéalement démêler les versions
Build Infrastructure

Commentaire le plus utile

Il semble que nous soyons en fait dans une bonne position maintenant.
(Merci @bvaughn)

Tous les 3 commentaires

alternatives : travaillez avec les CDN existants et assurez-vous que nous pouvons avoir des versions déployées sur commande (la mise à jour automatique basée sur le pull peut entraîner des retards, des choses comme jsfiddle, notre tutoriel a besoin d'actifs disponibles immédiatement)

Avec Redux, nous avons redirigé les gens vers le http://npmcdn.com de @mjackson.

Merci pour la mention, @gaearon. Cela fait un moment que je laisse entendre à @zpao que j'aimerais qu'il donne une chance à npmcdn . ;)

Le mois dernier, nous avons répondu à plus de 100 millions de demandes provenant de plus de 16 millions de visiteurs uniques. Nous sommes donc peut-être prêts à gérer le type de trafic que React nous soumettrait. Je travaille actuellement sur la mise en place de sponsors et sur les conditions de service afin que les gens sachent ce qu'ils peuvent en attendre.

En ce qui concerne les retards, nous demandons actuellement à notre CDN (CloudFlare) de mettre en cache les redirections pendant 5 minutes. Ainsi, par exemple, une demande pour https://npmcdn.com/react@15/dist/react.min.js redirigera vers la dernière version au plus tard 5 minutes après avoir été transmise à npm.

Il semble que nous soyons en fait dans une bonne position maintenant.
(Merci @bvaughn)

Cette page vous a été utile?
0 / 5 - 0 notes